Pipeline freeze if one of the input is inactive

Vnd vndkst at yahoo.com
Mon Jul 17 10:09:11 UTC 2017


By setting  async-handling=true property in decodebin helps pipeline to go to
playing state but latency message is posted by dec2 very frequently. This
leads to latency redistribution. CPU utilisation goes high due to repeated
latency message distribution. 

I Further digged into code latency is posted by the bin's base function
gst_bin_change_state_func in GST_STATE_PLAYING state change. Why this
function is called again and again for dec2 decodebin ?? 

gst-launch-1.0 \
udpsrc port=6000 ! decodebin async-handling=true name=dec1 ! video/x-raw !
insel.sink_0 \
udpsrc port=6003 ! decodebin async-handling=true name=dec2 ! video/x-raw !
insel.sink_1 \
input-selector sync-streams=false name=insel ! checksumsink 

Console dump:
0:00:02.646478606 fe6da9d06fa7a5d9f82f90a5eaf394dccb158321
Redistribute latency...
Redistribute latency...
Redistribute latency...
Redistribute latency...
0:00:02.686478606 b80ea0cb6ebd7e601e8d6c7e3288402b3765d7c9
0:00:02.726478606 28da25f355796e250501aa752d18ea5e8049f093

Any other way of doing it ??
 ~ VND



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Pipeline-freeze-if-one-of-the-input-is-inactive-tp4683774p4683837.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list