reconfigure event

Sebastian Dröge sebastian at centricular.com
Wed Jun 17 00:23:43 PDT 2015


On Mi, 2015-06-17 at 09:21 +0200, Sebastian Dröge wrote:
> On Mi, 2015-06-17 at 09:13 +0200, Christian Sell wrote:
> > since nobody answers I will close this subject with my own 
> > conclusion:
> >  
> > there is no way to achieve this. Again, my goal was to re-initiate 
> > the full negotation circle which would lead to set_caps being 
> > called 
> > on the final sink. This should happen sonchronously. This cannot be 
> > 
> > done via gst_event_new_reconfigure()), because
> 
> This is correct
>  
> > - the event as such only sets markers on the pads upstream. Actual 
> > processing happens when the processing loop is restarted, which 
> > requires a state change (e.g. PLAY)
> 
> This is not correct. Elements are supposed to check the RECONFIGURE
> flag on their pads whenever they can, and e.g. most converters will 
> do so before every buffer they process.

Note that this also means the renegotiation might not happen at all.
Not all elements can actually change whatever they are currently
outputting. You can't expect a video decoder to suddenly output a
different resolution than its input, or to suddenly start outputting
audio ;)

Some elements also only can renegotiate when they are shut down first,
but those can often be improved to also allow renegotiation at an
earlier time.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150617/e5480892/attachment.sig>


More information about the gstreamer-devel mailing list