Preroll with appsink (pull mode)
John OCallaghan
john.ocallaghan at accenture.com
Mon Mar 6 16:04:58 UTC 2017
Hi All
Am hoping someone out there can he me out. I’ve been trying to setup my
pipeline
uridecode
-> audioconvert -> appsink_audio
-> videoconvert -> appsink_video
to be a preroll pull mode pipeline.
When I add debug to my GST event loop I can see that all the elements are
moving into the GST_PLAYING state except for the appsinks (both audio and
video). They are moving from NULL -> READY. But they don’t budge out of
READY.
How I setup my pipeline:
When I init the pipeline I add all elements and then set the locked state on
all elements downstream of the uridecode and set the pipeline to GST_PAUSED
When I get a pad_added event I add a GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM
probe.
In the downstream block callback I unlock the elements associated with that
pad (audioconvert, appsink_audio or videoconvert, appsink_video) and link
the pad to the audio/video convert element.
When all the downstream block callbacks are called I send a message to my
GST main loop telling it to set the pipeline state to GST_PLAYING.
At this point I see lots of state changes occurring across all my elements
as they move into PLAYING state. All except those 2 appsinks….
Is there something about the appsink element that I am missing? When I turn
on GST_DEBUG the last mention I see from my audio appsink is this:
gst_bin_change_state_func:<controller-pipeline> child 'appsink_audio' is
changing state asynchronously to PLAYING
Anyone out there got any ideas on what I am doing wrong here or how I might
proceed with debug?
Thanks in advance!
John
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Preroll-with-appsink-pull-mode-tp4682105.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list