Maybe we could do our own one time synchronization of audio and video sink on SEGMENT event (PAUSED to PLAYING) in async mode, meaning that we would start writing audio/video in relatively same time, since now we start to write video few seconds sooner then audio, which results in video without audio for a few seconds after SEGMENT event.
nonrun sync mode will be worse, I expect a lot of buffer underruns (especially for video)
Well i'm still bussy to try and find a solution.
If You used sink in video and audio, it actually only worked (at start only not for long videostarts to freeze after a couple of frames) cause audio did not received a segment , and then gstreamer covered by adding self a minimal time segment start pos 0.
The fact that video is launched before the audio , that is wrong. That is the cause from driver event which skips the first audio pts due to video not ready.
On state change from pauzed to play. Firts AUDIO_CONTINUE happens followed by VIDEO_CONTINUE. This should be the opposed way. (note the CONTINUE off both is happening whitin ns even lower). But it's enough to trigger the skip off first audio pts.
There must be somwhere a way in gstreamer to reverse these happenings. But I think the enigma2 only set that to auto which maybe works for modern drivers but not on dreambox. This must be set on audio for all media where audio decodes trough gstreamer.
If decoding happens from boxes on board codecs this problem will not arise.