The following is a set of anticipated Q&A prepared in advance. 1. Why the code doesn't use Segment event? There are two reasons. First, the Segment event is emitted not only at the beginning of playback but also during seek operations, which makes it unsuitable for determining the initial playback position. Second, mpegpsdemux uses the first PTS it encounters rather than the minimum PTS within the first few megabytes of the stream, so relying on the Segment event would not provide a consistent or correct baseline timestamp. 2. Does this change the playback duration? No. The value returned by the GetDuration method remains unchanged. This is because mpegpsdemux returns the difference between the maximum PTS and the minimum PTS as the duration, so it is not affected even if the PTS is shifted. 3. Does this change the seeking behavior? No. mpegpsdemux performs seeking based on the SCR (System Clock Reference), so specifying a PTS does not allow accurate seeking. Since the SCR is generally smaller than the PTS, specifying 0 will correctly seek to the beginning of the stream. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10864#note_139427