• Panagiotis H.M. Issaris's avatar
    applehttp: Fix seeking in streams not starting at DTS=0 · 795d9594
    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.
    Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
    795d9594
Name
Last commit
Last update
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
Doxyfile Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
avconv.c Loading commit data...
avplay.c Loading commit data...
avprobe.c Loading commit data...
avserver.c Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
subdir.mak Loading commit data...
version.sh Loading commit data...