[Bug 709711] video decoders - send upstream force_key_unit events when unable to decode
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Thu Oct 10 15:28:48 CEST 2013
https://bugzilla.gnome.org/show_bug.cgi?id=709711
GStreamer | gst-plugins-base | 1.2.0
--- Comment #4 from Owen Williams <owilliams.cafex at gmail.com> 2013-10-10 13:28:44 UTC ---
Another event? I don't follow.
I need an event that 1) when received by an upstream rtpdepay element, it sends
out a PLI over RTCP, and 2) when received by an upstream encoder element the
encoder will send a key_unit (e.g. key frame). I believe the force_key_unit
event does the above.
Whilst the packet loss event occurs for each packet lost, I don't expect the
decoder to report a frame as corrupt for minor packet loss because many codecs
have packet loss concealment. Only when the decoder is seriously struggling
with the stream should it send a force_key_unit.
To me I feel that the correct behaviour of a decoder that can't decode is to
send a force_key_unit event. However none of the gstreamer decoders send
force_key_units, so maybe I'm missing something.
I forgot to include some gst-launches that could demonstrate that a future
patch improves things.
1) Before patch - h264 test with 10% frame drop
gst-launch-1.0 videotestsrc pattern=18 ! queue ! x264enc ! identity
drop-probability=0.1 ! avdec_h264 ! autovideosink
2) Before patch - vp8 test with 10% frame drop
gst-launch-1.0 videotestsrc pattern=18 ! queue ! vp8enc keyframe-mode=0
keyframe-max-dist=1000 error-resilient=0 ! identity drop-probability=0.1 !
vp8dec ! autovideosink
3) After patch - h264 test with 10% frame drop and force_key_unit interval of
1000ms
gst-launch-1.0 videotestsrc pattern=18 ! queue ! x264enc ! identity
drop-probability=0.1 ! avdec_h264 min-force-key-unit-interval=1000 !
autovideosink
4) After patch - h264 test with 10% frame drop and force_key_unit interval of
1000ms
gst-launch-1.0 videotestsrc pattern=18 ! queue ! vp8enc keyframe-mode=0
keyframe-max-dist=1000 error-resilient=0 ! identity drop-probability=0.1 !
vp8dec min-force-key-unit-interval=1000 ! autovideosink
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list