Event "state change" handling from element to element?
Maurer, Marie
marie.maurer at zeiss.com
Fri Oct 19 15:41:24 UTC 2018
Hello,
can someone give or point me to some info, how event handling is working internally between two element?
E.g. end of pipeline contains of a queue and an appsink.
... -> queue -> appsink
Appsink does not want to go to PLAYING state, other elements in this pipeline do it without problems.
In result the pipeline itself does not go into PLAYING state.
How are states exchanged between elements? How are the neighbor elements connected?
Is it all going via some common code inside gstreamer?
So queue is sending state to Gstreamer code and Gstreamer code gives state event to appsink?
Or is the queue element directly connected to the appsink element?
So queue is sending state directly to appsink element?
Is there some debugging possibility to see why state event is not running through till the end?
I have a bushandler which logs state changes for each element and I see my queue is going to PLAYING,
but appsink remains in READY, even when pending state is PLAYING.
cameraBusFunc State changed: MyAppSink, oldState=NULL, newState=READY, pendingState=PLAYING
cameraBusFunc State changed: MyQueue, oldState=NULL, newState=READY, pendingState=PLAYING
cameraBusFunc State changed: MyQueue, oldState=READY, newState=PAUSED, pendingState=PLAYING
cameraBusFunc State changed: MyQueue, oldState=PAUSED, newState=PLAYING, pendingState=VOID_PENDING
After this nothing more happens...
Any idea or hint?
Many thanks!
Best regards,
Marie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181019/ba2d2668/attachment.html>
More information about the gstreamer-devel
mailing list