splitmuxsink arbitrary close

Jan Schmidt thaytan at noraisin.net
Thu Aug 6 05:51:25 PDT 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512


On 04/08/15 04:25, cottrelld wrote:
> I'm currently using a timer to wait for a second instead of
> capturing the EOS.  Any idea what could be missing?  Thanks, 
> -David

The 'EOS' you're looking for is the bus message that comes on the
splitmuxsink bus. Once the filesink inside splitmuxsink receives the
EOS event you send, it will send an EOS message on the bus.

- - Jan.
> 
> On Sun, Jul 26, 2015 at 10:25 AM, David Cottrell <[hidden email] 
> </user/SendEmail.jtp?type=node&node=4672957&i=0>> wrote:
> 
> The sending of the EOS closes out the file if I just sent it by 
> itself without the block (Half way there!).  But I can't get the 
> sink in order to place the probe and capture the callback.  How do 
> you obtain the sink pad on the splitmuxsink?  I get null back from
> gst_element_get_static_pad in the code below.
> 
>>> What I would do is to place a probe on the splitmuxsink sink
>>> pad,
> with the flag GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM and then verify 
> the EOS in the callback with
> 
> (Note, I also tried to obtain the actual sink in hopes of getting 
> the pad off that, but the sink property is only the provided sink.
> )
> 
> 
> *void PipelineManager::stopPipeline_writerImpl()* { 
> g_print("stopPipeline_writerImpl, stopping\n");
> 
> if (!gPipelineMgr->m_writeSink) { 
> g_critical("stopPipeline_writerImpl: m_writeSink is NULL!!\n"); 
> exit(-1); }
> 
> // Block all transmissions past m_queueWriterTee GstPad*
> writerSinkPad = 
> gst_element_get_static_pad(gPipelineMgr->m_writeSink, "sink"); if
> (!writerSinkPad) { g_critical("stopPipeline_writerImpl: Could not
> obtain the writer sinkpad!!\n"); // <---- fails here! exit(-1); }
> 
> gst_pad_add_probe(writerSinkPad,
> 
> (GstPadProbeType)(GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM), 
> writer_eos_cb, m_loop, NULL); gst_object_unref(writerSinkPad);
> 
> // Send an EOS on the queue GstPad* queueSinkPad =
> gst_element_get_static_pad (gPipelineMgr->m_queueWriterTee,
> "sink"); gst_pad_send_event(queueSinkPad, gst_event_new_eos ()); 
> gst_object_unref(queueSinkPad);
> 
> g_print("stopPipeline_writerImpl, done...\n"); }
> 
> 
> Thanks again for your help! -David
> 
> 
> 
> ----------------------------------------------------------------------
- --
>
> 
View this message in context: Re: splitmuxsink arbitrary close
> <http://gstreamer-devel.966125.n4.nabble.com/splitmuxsink-arbitrary-cl
ose-tp4672799p4672957.html>
>
> 
Sent from the GStreamer-devel mailing list archive
> <http://gstreamer-devel.966125.n4.nabble.com/> at Nabble.com.
> 
> 
> _______________________________________________ gstreamer-devel
> mailing list gstreamer-devel at lists.freedesktop.org 
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCgAGBQJVw1hJAAoJEEqdx1eGJfOefg8P/3E5gB2MjD26DhUDVziZl8Wq
pI6ygJdXgffafMaMH20EutHRAMrcYVjM+dTtghis5SULtyQwzf+FVobajoLJEki6
uvJMWcQWPDjotH9oSmFd14ALXIGxdKzOMj1a1vGDS/3ysDJf4Gbtnj6odRt9RIRY
9WdtuhXhtq+BUGKH7Gr+NPrzg649UPuqhFSAkG5cWPY9/+T5ctW06qnxjHgD64XE
jkbwZ5kghsLItuy0X4thJ8mPOLa12KT+WO4IcyVdyeyJXjV+W8HafXu/Nx8wMAY3
ZMw3OBoR0lZoG7t26n3FXsL6eNmHAwvGNaCJFQmb4wFfSKa9lUVF9FB4DG9UbskG
n9CQT5h4fhWqILsLAwp65A6ThwU+5r1nawRCv8VZwFratvuy0BubYu6inznFCAS4
5Cw8dAXfav8FXsfddsnDxuH9uJLuQp5gWZZ1kzcyggSHPKoA73D5QQOaMmqY5HCV
XMHmGWuPy4/6SwhQTS76IdmINRyToDcGKnribWAbm7f/g8e/EVV9ZSX2qz0xtTvs
WJ5DPcfB9HhWF/e/32NRZioOuv8evi8ejdlyK05yBD1oCXzkEwIQy+da9HI9sMQm
6lqR6E5f4r0yhMTTySz0XHHgyXYRGNLjOveaSu1qV24McYLXWm9n1g6kxUiD3aeF
b3osTUMfvyFYDBzNBWJX
=7Wo7
-----END PGP SIGNATURE-----


More information about the gstreamer-devel mailing list