qtdemux: Fix reverse playback for pcm audio stream
authorHosang Lee <hosang10.lee@lge.com>
Fri, 1 Dec 2023 06:05:41 +0000 (15:05 +0900)
committerTim-Philipp Müller <tim@centricular.com>
Fri, 1 Dec 2023 09:54:41 +0000 (09:54 +0000)
Some raw lpcm or adpcm may have larger sample sizes than the max
buffer size value set.
Trimming the buffer causes bogus size error on reverse playback.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5745>

subprojects/gst-plugins-good/gst/isomp4/qtdemux.c

index a202f91..efdaa3f 100644 (file)
@@ -15580,7 +15580,7 @@ qtdemux_audio_caps (GstQTDemux * qtdemux, QtDemuxStream * stream,
   if (g_str_has_prefix (name, "audio/x-raw")) {
     stream->need_clip = TRUE;
     stream->min_buffer_size = 1024 * entry->bytes_per_frame;
-    stream->max_buffer_size = 4096 * entry->bytes_per_frame;
+    stream->max_buffer_size = entry->rate * entry->bytes_per_frame;
     GST_DEBUG ("setting min/max buffer sizes to %d/%d", stream->min_buffer_size,
         stream->max_buffer_size);
   }