playbin: Need replace suburidecoderbin's segment with normal uridecoderbin's segment
Submitted by kevin
Link to original bug (#743973)
Description
Issue:
External subtitle can't sync with video after seek.
Root Cause:
subparse send the same segment which get from seek event. video demuxer changed the segment as video need send from key frame in fast seek mode. accurate seek is ok as accurate seek needn't change segment.
video demuxer changed segment.time which used to calculate position in basesink. video demuxer changed segment.start which used to calculate render time in basesink.
subtitle can't sync with video if subtitle pipeline and video pipeline send different segment to basesink.
Solution:
Hold all segment event and select the least segment.time and segment.start. and than send the same segment to basesink to keep subtitle sync with video.
I have rough test the solution, it works. If the solution is ok, I can upload the patch for it.