summaryrefslogtreecommitdiff
path: root/subprojects
diff options
context:
space:
mode:
authorEdward Hervey <edward@centricular.com>2024-05-14 09:52:30 +0200
committerEdward Hervey <edward@centricular.com>2024-05-14 13:52:52 +0200
commit64cac1ed99b8d455433d3bcb027db9b65e263c2f (patch)
tree7b24ab1ed951bb502039ce72d34a8f5bdf78c3de /subprojects
parentfc3f5a2f0928e75eb9702667d67324a345f0f1d3 (diff)
avvidec: Fix dropping wrong "ghost" frames
This fixes the code regarding dropping "ghost frames", that is to say input frames which ended up not producing any decoded frame. The iteration itself makes sense.. but it was stopping at the "input" frame and not the decoded frame we just got back. When dealing with I-frame codecs, ffmpeg will decode frames in separate frames, so there is no guarantee that they are decoding in order. Fixes playback issues with such codecs Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6842>
Diffstat (limited to 'subprojects')
-rw-r--r--subprojects/gst-libav/ext/libav/gstavviddec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/subprojects/gst-libav/ext/libav/gstavviddec.c b/subprojects/gst-libav/ext/libav/gstavviddec.c
index 537eb3d71b..fe1ea51aa6 100644
--- a/subprojects/gst-libav/ext/libav/gstavviddec.c
+++ b/subprojects/gst-libav/ext/libav/gstavviddec.c
@@ -2037,7 +2037,7 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
while (l) {
GstVideoCodecFrame *tmp = l->data;
- if (tmp == frame)
+ if (tmp == out_frame)
old = FALSE;
if (old && GST_VIDEO_CODEC_FRAME_IS_DECODE_ONLY (tmp)) {