I need to use the synchronization functionality in gstreamer to avoid any network delays when playing a stream and to synchronize streams when playing multiple streams at the same time.
My pipeline looks like this: "appsrc ! vpudec ! mfw_isink sync=FALSE"
This is working fine but occasionally I get some video stuttering. Also when I play multiple streams each video is running on it's own pace which is not acceptable.
When I enabled mfw_isink sync=TRUE , gstreamer basesink drops all buffer so I tried to adjust the buffer timestamp but basesink is still not happy.
I found lot's of examples on this forum with sync=FALSE. Is there a problem with vpudec timestamp which doesn't work with basesink timestamp ?
If not what is the correct way of timestamping the buffer so vpudec and mfw_isink recognize the correct time?
I'm not sure what is the reference clock that gstreamer is using to decide if the buffer is late or not. It will be useful if anyone can shed some light on that.
BTW I don't have g_main_loop_run() I'm just feeding buffers to the pipeline using appsrc.