summaryrefslogtreecommitdiff
path: root/ext/alsa/gstalsasrc.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/alsa/gstalsasrc.c')
-rw-r--r--ext/alsa/gstalsasrc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/alsa/gstalsasrc.c b/ext/alsa/gstalsasrc.c
index 0233748b2..a359cc351 100644
--- a/ext/alsa/gstalsasrc.c
+++ b/ext/alsa/gstalsasrc.c
@@ -954,12 +954,11 @@ gst_alsasrc_read (GstAudioSrc * asrc, gpointer data, guint length,
GstAlsaSrc *alsa;
gint err;
gint cptr;
- gint16 *ptr;
+ guint8 *ptr = data;
alsa = GST_ALSA_SRC (asrc);
cptr = length / alsa->bpf;
- ptr = data;
GST_ALSA_SRC_LOCK (asrc);
while (cptr > 0) {
@@ -975,7 +974,7 @@ gst_alsasrc_read (GstAudioSrc * asrc, gpointer data, guint length,
continue;
}
- ptr += err * alsa->channels;
+ ptr += snd_pcm_frames_to_bytes (alsa->handle, err);
cptr -= err;
}
GST_ALSA_SRC_UNLOCK (asrc);