how to add a watch one stream of a multistream interleaved pipeline?

ge_keep pcouliba at yahoo.com
Fri Mar 6 11:37:37 PST 2015


I am interleaving 2 mono files to playout a stereo output file. one file is
shorter than the other and I want to capture the EOS when the shorter file
reaches end-of-streamer (EOS).

Unfortunately, when I used a gst_bus_add_watch() on the pipeline (see
following code), my_callback only get EOS when the resulted interleaved
stream reaches end-of-file which in my case happens only when the longest
file reaches EOS:
 / loop = g_main_loop_new (NULL, FALSE);
  pipeline = gst_pipeline_new ("pipeline");
  bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline));
  gst_bus_add_watch(bus, my_callback, loop);/

Is there a way to also add a "watch" just on one of the 2 streams (the
shorted stream for example) and capture the EOS message (in my_callback())
when this stream reaches EOS?
(/gboolean my_bus_callback (GstBus *bus, GstMessage *message,gpointer
data/))

Thank you



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/how-to-add-a-watch-one-stream-of-a-multistream-interleaved-pipeline-tp4671039.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list