summaryrefslogtreecommitdiff
path: root/libavformat/applehttp.c
Commit message (Collapse)AuthorAge
* libavformat: Rename the applehttp demuxer to hlsMartin Storsjö2012-02-14
| | | | | | | | When this demuxer was created, there didn't seem to be any consensus of a common short name for this protocol. Now the consensus seems to be to call it hls. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: remove AVFormatParameters from AVFormatContext.read_header signatureAnton Khirnov2012-01-27
|
* applehttp: Use half the target duration as interval if the playlist didn't ↵Martin Storsjö2011-12-29
| | | | | | | | | update This is mandated in draft-pantos-http-live-streaming-07, section 6.3.4. Signed-off-by: Martin Storsjö <martin@martin.st>
* applehttp: Use the last segment duration as reload intervalAndrey Utkin2011-12-29
| | | | | | | | According to draft-pantos-http-live-streaming-07, 6.3.4, the duration of the last media segment in the playlist should be used as initial minimum reload delay. Signed-off-by: Martin Storsjö <martin@martin.st>
* applehttp: Properly clean up if unable to probe a segmentMartin Storsjö2011-12-14
| | | | | | | | | This avoids a segfault if the probe function wasn't able to determine the format. The bug was found by Panagiotis H.M. Issaris. Signed-off-by: Martin Storsjö <martin@martin.st>
* applehttp: Avoid reading uninitialized memoryMartin Storsjö2011-12-14
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace all uses of av_close_input_file() with avformat_close_input().Anton Khirnov2011-12-12
|
* applehttp: Fix seeking in streams not starting at DTS=0Panagiotis H.M. Issaris2011-11-18
| | | | | | | | | | | | | | | | | | | | | | | | | 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: Martin Storsjö <martin@martin.st>
* avformat: Use avio_open2, pass the AVFormatContext interrupt_callback onwardsMartin Storsjö2011-11-13
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avio: add support for passing options to protocols.Anton Khirnov2011-11-13
| | | | | Not used anywhere yet, support for passing options from avio_open() will follow.
* avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_allocMartin Storsjö2011-11-13
| | | | | Change all uses of these function to pass the relevant callback on.
* avformat: Use ff_check_interruptMartin Storsjö2011-11-13
|
* lavf: replace av_new_stream->avformat_new_stream part II.Anton Khirnov2011-10-19
| | | | | | | | Manual replacements are done in this commit. In many cases, the id is some constant made up number (e.g. 0 for video and 1 for audio), which is then not used in the demuxer for anything. Those ids are removed.
* Remove all uses of deprecated AVOptions API.Anton Khirnov2011-10-12
|
* applehttp: fix variant discard logicLuca Barbato2011-08-04
| | | | | | | The v->ctx is always not NULL now, check for streams presence to mark the read_header state. Fixes bug #25, possibly introduced by 603b8bc
* lavf: use designated initialisers for all (de)muxers.Anton Khirnov2011-07-17
| | | | It's more readable and less prone to breakage.
* Do not include mathematics.h in avutil.hMans Rullgard2011-07-03
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Deprecate av_open_input_* and remove their uses.Anton Khirnov2011-06-16
| | | | Deprecate the last remaining member of AVFormatParameters.
* Remove all uses of now deprecated metadata functions.Anton Khirnov2011-06-08
|
* configure: Do not unconditionally add -D_POSIX_C_SOURCE to CPPFLAGS.Diego Biurrun2011-05-12
| | | | | | | | | | | | | | | | Adding _POSIX_C_SOURCE to CPPFLAGS globally produces all sorts of problems since it causes certain system functions to be hidden on some (BSD) systems. The solution is to only add the flag on systems that really require it, i.e. glibc-based ones. This change makes BSD systems compile out-of-the-box without the need for adding specific flags manually. It also allows dropping a number of flags set manually on a file-per-file basis, but were only present to work around breakage introduced by the presence of _POSIX_C_SOURCE. Also add _XOPEN_SOURCE to CPPFLAGS for glibc systems. We use XSI extensions in several places already, so it is preferable to define it globally instead of littering source files with individual #defines only needed for glibc.
* applehttp: Don't export variant_bitrate if it isn't knownMartin Storsjö2011-04-24
| | | | | | | | If there are no variants, the total bitrate of the single stream isn't known, and exporting variant_bitrate = 0 does look weird, since there really aren't any variants. Signed-off-by: Martin Storsjö <martin@martin.st>
* applehttp: Handle AES-128 encrypted streamsMartin Storsjö2011-04-23
| | | | | | | | | | This should hopefully fix roundup issue 2586. This commit only implements it in the demuxer, not in the protocol handler. If desired, some of the code could be refactored to be shared by both implementations. Signed-off-by: Martin Storsjö <martin@martin.st>
* applehttp: Expose the stream bitrate via metadataMartin Storsjö2011-04-21
| | | | | | | This helps callers to intelligently switch between bitrate variants. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbolsStefano Sabatini2011-04-19
| | | | | | | | Make AVIO_FLAG_ access constants work as flags, and in particular fix the behavior of functions (such as avio_check()) which expect them to be flags rather than modes. This breaks API.
* applehttp: Only check the discard flags if v->ctx actually is initializedMartin Storsjö2011-04-13
| | | | | | | This code could be executed if the demuxer reads more than one segment before returning from av_open_input_stream. Signed-off-by: Martin Storsjö <martin@martin.st>
* applehttp: don't use deprecated url_ functions.Anton Khirnov2011-04-08
|
* avio: move extern url_interrupt_cb declaration from avio.h to url.hAnton Khirnov2011-04-07
|
* avio: AVIO_ prefixes for URL_ open flags.Anton Khirnov2011-04-07
|
* applehttp: Merge two for loopsMartin Storsjö2011-04-04
| | | | | The previous commit didn't do this straight away, to keep the diff slightly simpler.
* applehttp: Restructure the demuxer to use a custom AVIOContextMartin Storsjö2011-04-04
| | | | | | This avoids issues where EOF at the end of the segment is given the variant demuxer. Now the demuxers only see one single data stream (as when using the applehttp protocol handler).
* applehttp: Move finished and target_duration to the variant structMartin Storsjö2011-04-04
| | | | | This is a preparation for a restructuring of the demuxer, to minimize the later diff.
* applehttp: Change the variable for stream position in seconds into int64_tMartin Storsjö2011-03-21
| | | | | | | | A similar variable for the total stream duration was changed to int64_t in b79c3df08807c96a945, due to overflows in some odd streams. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* lavf: Make make_absolute_url a lavf internal functionMartin Storsjö2011-03-17
| | | | | | This is shared by both applehttp demuxer and protocol. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* applehttp: Fix a typo in a commentMartin Storsjö2011-03-17
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Use AVERROR_EXIT with url_interrupt_cb.Nicolas George2011-03-15
| | | | | | | | | | | | | Functions interrupted by url_interrupt_cb should not be restarted. Therefore using AVERROR(EINTR) was wrong, as it did not allow to distinguish when the underlying system call was interrupted and actually needed to be restarted. This fixes roundup issues 2657 and 2659 (ffplay not exiting for streamed content). Signed-off-by: Nicolas George <nicolas.george@normalesup.org> Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: deprecate url_feofAnton Khirnov2011-03-07
| | | | | | AVIOContext.eof_reached should be used directly instead. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: rename url_fopen/fclose -> avio_open/close.Anton Khirnov2011-02-23
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: rename ByteIOContext to AVIOContext.Anton Khirnov2011-02-20
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* applehttp: Handle absolute paths relative to the current serverMartin Storsjö2011-02-04
| | | | | | This fixes roundup issue 2583. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.Diego Elio Pettenò2011-01-26
| | | | | This also lists the objects from those two libraries as internal (by adding the ff_ prefix) so that they can then be hidden via linker scripts.
* applehttp: Fix the key check in handle_variant_argsMartin Storsjö2011-01-24
| | | | | | | | The key string is supposed to contain the equals character, too. Since the checked string was wrong, and the return value check was wrong too, it incorrectly seemed to work right before. Signed-off-by: Mans Rullgard <mans@mansr.com>
* prevent integer overflow in calculating durationJohn Wimer2011-01-17
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* applehttp: Add comments to make_absolute_urlMartin Storsjö2010-10-02
| | | | Originally committed as revision 25319 to svn://svn.ffmpeg.org/ffmpeg/trunk
* applehttp: Handle a .. path segment in the base urlMartin Storsjö2010-10-02
| | | | Originally committed as revision 25318 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ReindentMartin Storsjö2010-10-02
| | | | Originally committed as revision 25317 to svn://svn.ffmpeg.org/ffmpeg/trunk
* applehttp: Allow the base url to be a local file name, tooMartin Storsjö2010-10-02
| | | | Originally committed as revision 25316 to svn://svn.ffmpeg.org/ffmpeg/trunk
* applehttp: define _XOPEN_SOURCE=600 as required for usleep()Måns Rullgård2010-08-19
| | | | Originally committed as revision 24839 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add Apple HTTP Live Streaming demuxerMartin Storsjö2010-08-19
Originally committed as revision 24834 to svn://svn.ffmpeg.org/ffmpeg/trunk