Understanding the property "block-size" for elements "filesrc" and "filesink" w.r.t device files in Linux

vk_gst venkateshkuppan26 at gmail.com
Fri Sep 7 12:50:45 UTC 2018


Hello again GStreamer experts,

I am trying to understand the behaviour of property "block-size" for doing
read/write operations on device files. I am using a FTDI chip USB-USB null
modem cable ( link
<http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_USBNMC.pdf> 
) to stream real time video from client to source.  The ports are exposed as
serial ports '/dev/ttyUSBx' on Linux system.  Now the whole setup works with
reasonable latency of < 1 second when configured to work at 1MBaud and 2
MBaud , with a blocksize of 4K. 

I tested the setup with a block size of 4K*4 = 16384 at both client &
source. With the increase in blocksize, I did not see any improvement in the
latency. I understand the latency depends on various other factors like the
camera fps, the encoding/decoding etc. But here I am trying to understand if
the larger block.size can help in speeding up the streaming. Also, when
there is a change in the property block-size  for element, does it always
affect the Tx/Rx buffer for the device file.  If not, how can they be
configured? 

When it comes to the same setup using UDP, I see that the video streaming
latency is far less and less noticeable. In case the block-size for serial
ports is configured to same as UDP block size, will this help in speeding up
the streaming ?

Can anyone explain the effects of block-size property in case of device
files in Linux? 



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list