• Panagiotis H.M. Issaris's avatar
    Fix seeking when using Apple HTTP Live Streaming · 6f20921d
    Panagiotis H.M. Issaris authored
    The Apple HTTP Live Streaming demuxer's implementation of seeking searches for
    the MPEG TS segment which contains the requested timestamp.  In its current
    implementation it assumes that the first segment will start from 0.
    
    But, MPEG TS streams do not necessarily start with timestamp (near) 0, causing
    seeking to fail for those streams.
    
    This also occurs when using live streaming of HTTP Live Streams. In this case
    sliding playlists may be used, which means that in that case only the last x
    encoded segments are stored, the earlier segments get deleted from disk and
    removed from the playlist. Because of this, when starting playback of a stream
    in the middle of such a broadcast, the initial segment fetched after parsing
    the m3u8 playlist will not start from timestamp (near) 0, causing (the
    admittedly limited live) seeking to fail.
    
    This patch changes this demuxers seeking implementation to use the initial DTS
    as an offset for searching the segments containing the requested timestamp.
    6f20921d
applehttp.c 21.8 KB