diff options
Diffstat (limited to 'ext/alsa/gstalsasrc.c')
-rw-r--r-- | ext/alsa/gstalsasrc.c | 5 |
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); |