Usage of sync=false in rendering

Nicolas Dufresne nicolas.dufresne at collabora.com
Wed Jan 7 10:12:10 PST 2015


This parameter controls whether or not buffers are synchronized before 
being displayed. What it means is that if they are early, it will wait a 
bit. If it is late, it will drop and report to upstream element, hoping 
that next frame can make it on time.

Le 2015-01-07 12:56, Sérgio Agostinho a écrit :
> My (empirical) experience has been to set sync to false when dealing with live streams and let it default to true when not.
>
> I don't think setting the sync parameter to false to be the cause of your delay.
This approach is a bit naïve though should work fairly well as long as 
the display is faster then real time. If upstream element produce 
jitters, or small burst, this will be visible though.
>
> Cheers
> Sérgio
>> On 07 Jan 2015, at 17:56, Gokul Vellingiri <vgokul129 at gmail.com> wrote:
>>
>> I'm trying to stream video from v4l2src to my android mobile using gstreamer
>> pipeline.Pipeline is working fine and be able to stream video,but latency
>> and frame drop is seen.By adding *syn=false to fpsdisplaysink *element,be
>> able to see very less frame drop but playback getting delayed.
>>
>> I don't know the exact use of sync=false.So can someone suggest some
>> difference or exactly on what perspective do these factors(sync=false and
>> true) affect the rendering?
>>
>>
>>
Though in this case, it seems like the display path is too slow. Which 
mean setting sync=false will have the effect of accumulating the 
lateness instead of dropping.

In general, slow display is a problem, even though GStreamer is doing 
it's best to compensate, the best solution is to find and fix the 
bottleneck.

Nicolas


More information about the gstreamer-devel mailing list