qtdemux: Handle keyunit trick mode in case of push mode too

Skip non-keyframe video frames if trickmode-keyunit flag is set

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5900>
This commit is contained in:
Seungha Yang 2024-01-08 20:06:24 +09:00 committed by GStreamer Marge Bot
parent 31047b878f
commit fd21d97060

View file

@ -8463,6 +8463,13 @@ gst_qtdemux_process_adapter (GstQTDemux * demux, gboolean force)
gst_adapter_flush (demux->adapter, demux->neededbytes);
ret = GST_FLOW_EOS;
} else if ((demux->segment.flags &
GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) != 0 &&
stream->subtype == FOURCC_vide && !keyframe) {
GST_LOG_OBJECT (demux, "Skipping non-keyframe on track-id %u",
stream->track_id);
gst_adapter_flush (demux->adapter, demux->neededbytes);
ret = GST_FLOW_OK;
} else {
GstBuffer *outbuf;