aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Zhang <rizhang@google.com>2023-04-12 00:03:28 +0000
committerRichard Zhang <rizhang@google.com>2023-04-12 00:03:28 +0000
commit63162322b632013d80760df1f7642e566ae9d9ec (patch)
tree568c175aa61122a44041bcdfddc2552c6aab92c3
parenta5afe506835ea6acd809320c55c578a6292f9d61 (diff)
downloadtinyalsa-63162322b632013d80760df1f7642e566ae9d9ec.tar.gz
This renames the "underrun" pcm field to "xrun". Bug: 267200961 Test: presubmits Change-Id: I5a675bb7b6cd6d067f523496b3350139fb552030
-rw-r--r--include/tinyalsa/asoundlib.h3
-rw-r--r--pcm.c12
2 files changed, 11 insertions, 4 deletions
diff --git a/include/tinyalsa/asoundlib.h b/include/tinyalsa/asoundlib.h
index 063a256..c0f4746 100644
--- a/include/tinyalsa/asoundlib.h
+++ b/include/tinyalsa/asoundlib.h
@@ -290,6 +290,9 @@ int pcm_get_poll_fd(struct pcm *pcm);
*/
int pcm_set_avail_min(struct pcm *pcm, int avail_min);
+/* Gets the count of underruns for playback and count of overruns for capture. */
+int pcm_get_xruns(struct pcm *pcm);
+
/*
* MIXER API
*/
diff --git a/pcm.c b/pcm.c
index 6d7dc29..dd74c87 100644
--- a/pcm.c
+++ b/pcm.c
@@ -256,7 +256,7 @@ struct pcm {
unsigned int flags;
bool running:1;
bool prepared:1;
- int underruns;
+ int xruns;
unsigned int buffer_size;
unsigned long boundary;
char error[PCM_ERROR_MAX];
@@ -561,7 +561,7 @@ int pcm_write(struct pcm *pcm, const void *data, unsigned int count)
/* we failed to make our window -- try to restart if we are
* allowed to do so. Otherwise, simply allow the EPIPE error to
* propagate up to the app level */
- pcm->underruns++;
+ pcm->xruns++;
if (pcm->flags & PCM_NORESTART)
return -EPIPE;
continue;
@@ -595,7 +595,7 @@ int pcm_read(struct pcm *pcm, void *data, unsigned int count)
pcm->running = false;
if (errno == EPIPE) {
/* we failed to make our window -- try to restart */
- pcm->underruns++;
+ pcm->xruns++;
continue;
}
return oops(pcm, errno, "cannot read stream data");
@@ -1055,7 +1055,7 @@ struct pcm *pcm_open(unsigned int card, unsigned int device,
}
#endif
- pcm->underruns = 0;
+ pcm->xruns = 0;
return pcm;
fail:
@@ -1382,3 +1382,7 @@ int pcm_ioctl(struct pcm *pcm, int request, ...)
return pcm->ops->ioctl(pcm->data, request, arg);
}
+
+int pcm_get_xruns(struct pcm *pcm) {
+ return pcm->xruns;
+}