mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 11:32:38 +00:00
audiomixer: The pad's size is always supposed to be the whole buffer size
And the offset the offset into that buffer. Changing the size will cause all kinds of assumptions to fail and cause crashes.
This commit is contained in:
parent
30ce523d59
commit
0d38b2212c
1 changed files with 2 additions and 3 deletions
|
@ -1114,10 +1114,9 @@ gst_audio_mixer_fill_buffer (GstAudioMixer * audiomixer, GstAudioMixerPad * pad,
|
|||
if (start_running_time_offset < audiomixer->offset) {
|
||||
GstBuffer *buf;
|
||||
guint diff = (audiomixer->offset - start_running_time_offset) * bpf;
|
||||
|
||||
pad->position += diff;
|
||||
pad->size -= diff;
|
||||
/* FIXME: This could only happen due to rounding errors */
|
||||
if (pad->size == 0) {
|
||||
if (pad->position >= pad->size) {
|
||||
/* Empty buffer, drop */
|
||||
gst_buffer_unref (inbuf);
|
||||
pad->buffer = NULL;
|
||||
|
|
Loading…
Reference in a new issue