GNOME Bugzilla – Bug 699960
videodecoder: Reordering sticky events
Last modified: 2013-05-10 07:22:28 UTC
There's been a first patch by slomo earlier today, but there still are events being sent too soon by _prepare_finish_frame. The proposed patch stores them for sending in the negotiate_default. A point of interrogation for me is : do we want to reset has_set_caps in reset or only in reset when full is True ?
Created attachment 243631 [details] [review] Proposed patch to fix the issue
example faulty pipeline by the way : gst-launch-1.0 filesrc location="~/Videos/any.ogv" ! oggdemux ! theoradec ! autovideosink
Solved differently and more generic: commit 2cc6a62b315ad5eb64305574a87b0fbbd7033a48 Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Thu May 9 15:42:49 2013 +0200 videoencoder: Make sure to push any pre-caps events before the caps are set commit 82f1572205dbc86ebefc52029ef5e4c221c275da Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Thu May 9 15:34:10 2013 +0200 videodecoder: Make sure to not push any post-caps events before we have caps and that we push pre-caps events before we push caps, even if we don't have a GstVideoFrame yet.
Created attachment 243740 [details] [review] Patch to really send stored events. That patch is quite self-explanatory :)
commit 6f233f67efa338a52a4f5c439f3c47ebc9431b4c Author: Mathieu Duponchelle <mathieu.duponchelle@epitech.eu> Date: Thu May 9 23:30:33 2013 +0200 videodecoder: don't set the list to NULL after taking its address