dynamic pipeline

murali_c_h murali_c_h at yahoo.com
Wed Feb 24 09:58:54 UTC 2016


Hi All,

I am developing a video conferencing solution on ubuntu.
As part of the which users can create a conference with specific number of
users. 
When the conference starts, the application starts the pipeline as folows:

filesrc (MP4) - queue - qtdemux - h264parse - h264dec - videoscale ----|                                      
                                                                                                   
|  videomixer2 - q - ... udpsink
filesrc(MP4)  - queue - qtdemux - h264parse - h264dec - videoscale ----|

When a participant gets added, the following elements are added to pipeline:

udpsrc - queue - rtpdepay - h264parse - h264dec - videoscale, new elements
are linked and a blocking buffer probe is added on udpsrc. 
As part of the probe, the "videoscale linked to filesrc" is unlinked,
"videoscale linked to the udpsrc" is linked to videomixer to the same
request pad.

When the conference starts, everything works fine and the video's gets mixed
and the mixed video is received.
When a participant is added, udpsrc, other elements are added to the
pipeline successfully.

When data is pushed on the udpsrc port (using filesrc, udpsink), the
blocking buffer probe callback is getting called, the elements are linked.

But no video is getting pushed. There are no buffers getting pushed out of
udpsrc.
Seems like a clock synchronization issue. 
Please provide me your inputs on how clock synchronization can be achieved
in a dynamic pipeline.




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/dynamic-pipeline-tp4676016.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list