The problem why gstreamer1.0 (or here even gstreamer whatever version) is loosing sync point. After an enigma2 action is done which requires a new seek and flush followed by a new segment segment. Is because enigma2 sends the wrong segment.
As example the case where dtsdownmix is required because the stb can't decode self the dts stream. Whatever plugin You use here:
1) That from the pli mediasink (which is only ok for very old dts for the modern dts it's something You can't call sound it's more noise).
2) The one I made based on the gst one
3) Or even just the one from gst self whitout modifications.
Sound is aranged by dvbaudiosink to gstreamer decoding then audio raw.
For the start point when movie is at the begin I found the reason, just wait on enigma2 to be fully ready. Then no problem. Here enigma does not use wrong pts to send the segment. Actually enigma2 just used the begin segment off movie as does the audiosink and video sink that's it. and that's ok providing audio is not launched to early. The subtitle hack must well be disabled , since if this hack is kept actif enigma wil first start whit a seek flush and then send the wrong segment to video and audio sink.
Perhaps this fiddeling by sending wrong segment is needed for some ts media which do not use the servicesmp3.c . But may not be done for gstreamer. Since the audio and video are threated async. The services will only set that segment by audio stream and not video stream. This result in a complete wrong position for the audio. Whill the video uses the right segment that for audio will be wrong. It's more that the video segment is just not send while the audio is well, but based on a earlier frame. The video will just continu running where it was while the audio tries to run with an earlier pts. and ....
a dmesg error log such as. included the error log sended a couple off messages ago.
I also included a log when it's ok by start off stream.
In a certain way here its' a bug from enigma2 . If a different position is send (other segment) then the last one we had before a seek flush operation, It must be done for audio and video. By servicesmp3 only the audio is done not the video.
possible solutions.
1) by a enigma2 action which triggers a seek,flush new segment. pause the full pipeline and do the seek send the segments wanted and relaunch pipeline.
2) do not send a modified segment after seek event (not modifie the result off seek I mean like is done now) when using services.mp3
But for that I really do not now where to look for.
Included detailed logs.
The error by reselceting current audio stream.
Ok by start off movie.