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