aboutsummaryrefslogtreecommitdiff
path: root/pcm.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-07-29 11:04:13 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-02-11 01:23:37 +0000
commit5f64fe734ebf309a73973126f5cf62322e09ee89 (patch)
tree39ca905961a00e337b0ee6469e16981393f3f87d /pcm.c
parentd88eedb72a6deea7d2751e4b80674607cccebdef (diff)
pcm: Factor out pcm_start() from pcm_read()
When starting the stream we're doing the same as a start()
Diffstat (limited to 'pcm.c')
-rw-r--r--pcm.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/pcm.c b/pcm.c
index 9e198ad..d253433 100644
--- a/pcm.c
+++ b/pcm.c
@@ -401,11 +401,7 @@ int pcm_read(struct pcm *pcm, void *data, unsigned int count)
for (;;) {
if (!pcm->running) {
- if (ioctl(pcm->fd, SNDRV_PCM_IOCTL_PREPARE))
- return oops(pcm, errno, "cannot prepare channel");
- if (ioctl(pcm->fd, SNDRV_PCM_IOCTL_START))
- return oops(pcm, errno, "cannot start channel");
- pcm->running = 1;
+ pcm_start(pcm);
}
if (ioctl(pcm->fd, SNDRV_PCM_IOCTL_READI_FRAMES, &x)) {
pcm->running = 0;