GNOME Bugzilla – Bug 640017
basevideodecoder: add API to drop a frame and post a QoS message on the bus
Last modified: 2011-11-25 11:50:17 UTC
BaseVideoDecoder based vp8dec fails to emit the QoS GstMessage when dropping frames
vp8dec doesn't drop frames due to QoS. However, more relevantly, basevideodecoder doesn't do this if vp8dec were to drop frames due to QoS.
Created attachment 202022 [details] [review] basevideodecoder: post QoS message on the bus when dropping Attempt at fixing this.
Created attachment 202024 [details] [review] basevideodecoder: post QoS message on the bus when dropping a frame Same as before, just without the GST_ERROR_OBJECT.
Review of attachment 202024 [details] [review]: ::: gst-libs/gst/video/gstbasevideodecoder.c @@ +1491,3 @@ + /* FIXME: do we need a way to mark frames that should not be counted as + * dropped (e.g. "invisible frames")? */ + base_video_decoder->dropped++; As discussed on IRC yesterday we need something for this, yes. Best would be new API to distinguish dropping of frames and frames without a src_buffer, e.g. gst_base_video_decoder_drop_frame().
Created attachment 202058 [details] [review] basevideodecoder: add API to drop a frame and post a QoS message on the bus API: adds gst_base_video_decoder_drop_frame()
So, does that replace https://bugzilla.gnome.org/show_bug.cgi?id=658241 ?
> So, does that replace https://bugzilla.gnome.org/show_bug.cgi?id=658241 ? Not as far as I can tell. basevideodec doesn't actually do any dropping afaics. I was mostly interested in making vp8dec post QoS messages when it drops frames. That doesn't mean we can't make use of your proposed new API later as well.
commit ca772ed3211b7faad8452af105f2643af43ccdac Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Fri Nov 25 11:36:14 2011 +0000 vp8dec: use new basevideodecoder API to drop frames and get QoS messages posted commit a039499bf16f07d148d5dc16618f054d26f349ae Author: Tim-Philipp Müller <tim.muller@collabora.co.uk> Date: Wed Nov 23 20:03:32 2011 +0000 basevideodecoder: add API to drop a frame and post a QoS message on the bus https://bugzilla.gnome.org/show_bug.cgi?id=640017 API: gst_base_video_decoder_drop_frame()