Understanding QOS

Vinod Kesti vinodkesti at yahoo.com
Fri Jan 13 07:02:56 UTC 2017


Hi,

I want to enable QOS in the pipeline to get live video content without
holding buffers even in high CPU load by dropping video frames before
encoding. 
What i expect is, identity element should drop frames when CPU is not able
to process video frame and get the next frame. 

Below is the pipeline where I am trying to simulate the case where it
encodes 8k and Full HD video. When 8k or full HD video branch is not able to
process data identity should drop the buffer. 

gst-launch-1.0 udpsrc port=9000 ! decodebin name=dec dec.! identity qos=true
! ! videoconvert qos=false ! tee name=branch \
branch.! videoscale qos=false  ! video/x-raw,width=7680,height=4320 !
x264enc ! fakesink qos=true sync=true silent=0 \
branch.! videoscale qos=false  ! video/x-raw,width=1920,height=1080 !
x264enc ! fakesink qos=true sync=true silent=0 --gst-debug=3 -m -v

But pipeline is not behaving as expected. identity is not dropping frames on
CPU oveload instead input is dropped at udpsrc(udp source stops capturing
when decodeder queue is full). 
Here 8k encoding is used just to simulate CPU overload.

Why identity is not dropping buffers ?? Is it right pipeline to expect such
behaviour.
Can I use QOS for my use case ??


~ Vinod




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


More information about the gstreamer-devel mailing list