From 8bdab32f4ee402bbd7bf5a61b0ccbcc59569bfb0 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Tue, 14 Feb 2012 12:00:49 +0200 Subject: libavformat: Rename the applehttp protocol to hls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Keep the old protocol name around for backwards compatibility until the next bump. Deprecate the method of implicitly assuming the nested protocol. For applehttp://server/path, it might have felt logical, but supporting hls://server/path isn't quite as intuitive. Therefore only support hls+http://server/path from now on. Using this protocol at all is discouraged, since the hls demuxer is more complete and fits into the architecture better. There have been cases where the protocol implementation worked better than the demuxer, but this should no longer be the case. Signed-off-by: Martin Storsjö --- doc/protocols.texi | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'doc/protocols.texi') diff --git a/doc/protocols.texi b/doc/protocols.texi index f5bb5324be..e00c1e11b2 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -19,20 +19,19 @@ supported protocols. A description of the currently available protocols follows. -@section applehttp +@section hls Read Apple HTTP Live Streaming compliant segmented stream as a uniform one. The M3U8 playlists describing the segments can be remote HTTP resources or local files, accessed using the standard file protocol. -HTTP is default, specific protocol can be declared by specifying -"+@var{proto}" after the applehttp URI scheme name, where @var{proto} +The nested protocol is declared by specifying +"+@var{proto}" after the hls URI scheme name, where @var{proto} is either "file" or "http". @example -applehttp://host/path/to/remote/resource.m3u8 -applehttp+http://host/path/to/remote/resource.m3u8 -applehttp+file://path/to/local/resource.m3u8 +hls+http://host/path/to/remote/resource.m3u8 +hls+file://path/to/local/resource.m3u8 @end example @section concat -- cgit v1.2.3 From 3975ca8957be408c118f101e0a44c6554a329667 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Tue, 14 Feb 2012 12:04:50 +0200 Subject: doc: Move the hls protocol section into the right place MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- doc/protocols.texi | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'doc/protocols.texi') diff --git a/doc/protocols.texi b/doc/protocols.texi index e00c1e11b2..626886069d 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -19,21 +19,6 @@ supported protocols. A description of the currently available protocols follows. -@section hls - -Read Apple HTTP Live Streaming compliant segmented stream as -a uniform one. The M3U8 playlists describing the segments can be -remote HTTP resources or local files, accessed using the standard -file protocol. -The nested protocol is declared by specifying -"+@var{proto}" after the hls URI scheme name, where @var{proto} -is either "file" or "http". - -@example -hls+http://host/path/to/remote/resource.m3u8 -hls+file://path/to/local/resource.m3u8 -@end example - @section concat Physical concatenation protocol. @@ -80,6 +65,21 @@ specified with the name "FILE.mpeg" is interpreted as the URL Gopher protocol. +@section hls + +Read Apple HTTP Live Streaming compliant segmented stream as +a uniform one. The M3U8 playlists describing the segments can be +remote HTTP resources or local files, accessed using the standard +file protocol. +The nested protocol is declared by specifying +"+@var{proto}" after the hls URI scheme name, where @var{proto} +is either "file" or "http". + +@example +hls+http://host/path/to/remote/resource.m3u8 +hls+file://path/to/local/resource.m3u8 +@end example + @section http HTTP (Hyper Text Transfer Protocol). -- cgit v1.2.3 From 9cb9c6c42dcd08746e0684eeacccf8b89b12e571 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Tue, 14 Feb 2012 12:09:09 +0200 Subject: hlsproto: Encourage users to try the hls demuxer instead of the proto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- doc/protocols.texi | 5 +++++ libavformat/hlsproto.c | 6 ++++++ 2 files changed, 11 insertions(+) (limited to 'doc/protocols.texi') diff --git a/doc/protocols.texi b/doc/protocols.texi index 626886069d..0eb4c69b49 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -80,6 +80,11 @@ hls+http://host/path/to/remote/resource.m3u8 hls+file://path/to/local/resource.m3u8 @end example +Using this protocol is discouraged - the hls demuxer should work +just as well (if not, please report the issues) and is more complete. +To use the hls demuxer instead, simply use the direct URLs to the +m3u8 files. + @section http HTTP (Hyper Text Transfer Protocol). diff --git a/libavformat/hlsproto.c b/libavformat/hlsproto.c index 244f270398..f611f7599c 100644 --- a/libavformat/hlsproto.c +++ b/libavformat/hlsproto.c @@ -222,6 +222,12 @@ static int applehttp_open(URLContext *h, const char *uri, int flags) ret = AVERROR(EINVAL); goto fail; } + av_log(h, AV_LOG_WARNING, + "Using the hls protocol is discouraged, please try using the " + "hls demuxer instead. The hls demuxer should be more complete " + "and work as well as the protocol implementation. (If not, " + "please report it.) To use the demuxer, simply use %s as url.\n", + s->playlisturl); if ((ret = parse_playlist(h, s->playlisturl)) < 0) goto fail; -- cgit v1.2.3