wavparse: Unset DISCONT buffer flag for divided into multiple buffers in push mode

In push mode (streaming), if the received chunk buffer size from _chain is bigger
than output buffer size, the flags of the divided-buffers are propagated to the
DISCONT flag from first received chunk buffer. This unexpected buffers contained DISCONT
flags are abnormally transformed when changing the sampling rate by audioresample element.
So unset unnecessary DISCONT flag before pad_push().

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2305>
This commit is contained in:
dongil.park 2022-04-27 12:24:23 +09:00 committed by GStreamer Marge Bot
parent 9e2bb037f0
commit 5b11e6a3d0

View file

@ -2158,6 +2158,8 @@ iterate_adapter:
GST_DEBUG_OBJECT (wav, "marking DISCONT");
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
wav->discont = FALSE;
} else {
GST_BUFFER_FLAG_UNSET (buf, GST_BUFFER_FLAG_DISCONT);
}
GST_BUFFER_TIMESTAMP (buf) = timestamp;