From: ePirat <epira...@gmail.com> Add Icecast protocol, a convenience wrapper for the HTTP protocol
--- Changelog | 1 + configure | 1 + doc/general.texi | 1 + doc/protocols.texi | 42 ++++++++++++++++++++++++++++++++++++++++++ libavformat/Makefile | 1 + libavformat/allformats.c | 1 + libavformat/version.h | 4 ++-- 7 files changed, 49 insertions(+), 2 deletions(-) diff --git a/Changelog b/Changelog index 07cf1cf..54bb6ba 100644 --- a/Changelog +++ b/Changelog @@ -2,6 +2,7 @@ Entries are sorted chronologically from oldest to youngest within each release, releases are sorted from youngest to oldest. version 2.3: +- Icecast protocol - AC3 fixed-point decoding - shuffleplanes filter - subfile protocol diff --git a/configure b/configure index b4ec1e6..a0b2354 100755 --- a/configure +++ b/configure @@ -2483,6 +2483,7 @@ gopher_protocol_select="network" http_protocol_select="tcp_protocol" httpproxy_protocol_select="tcp_protocol" https_protocol_select="tls_protocol" +icecast_protocol_select="http" librtmp_protocol_deps="librtmp" librtmpe_protocol_deps="librtmp" librtmps_protocol_deps="librtmp" diff --git a/doc/general.texi b/doc/general.texi index 35db917..9ce0b31 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -1055,6 +1055,7 @@ performance on systems without hardware floating point support). @item HLS @tab X @item HTTP @tab X @item HTTPS @tab X +@item Icecast @tab X @item MMSH @tab X @item MMST @tab X @item pipe @tab X diff --git a/doc/protocols.texi b/doc/protocols.texi index 1cd96cc..cb75d92 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -293,6 +293,48 @@ The required syntax to play a stream specifying a cookie is: ffplay -cookies "nlqptid=nltid=tsn; path=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8 @end example +@section Icecast + +Icecast protocol + +@table @option +@item ice_genre +Set the genre of the stream. + +@item ice_name +Set the name of the stream. + +@item ice_description +Set the description of the stream. + +@item ice_url +Set the stream website url. + +@item ice_public +Set if the stream should be public. +Default is 0 (not public). + +@item ice_password +Password for the mountpoint. + +@item legacy_icecast +If set to 1, enable support for legacy Icecast (Version < 2.4), using the SOURCE method +instead of the PUT method. + +@item content_type +Set a specific content type for the stream. +This MUST be set if streaming else than audio/mpeg + +@item user_agent +Override the User-Agent header. If not specified the protocol will use a +string describing the libavformat build. ("Lavf/<version>") + +@end table + +@example +icecast://[@var{username}[:@var{password}]@@]@var{server}:@var{port}/@var{mountpoint} +@end example + @section mmst MMS (Microsoft Media Server) protocol over TCP. diff --git a/libavformat/Makefile b/libavformat/Makefile index 9017e06..4f64c94 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -484,6 +484,7 @@ OBJS-$(CONFIG_HLS_PROTOCOL) += hlsproto.o OBJS-$(CONFIG_HTTP_PROTOCOL) += http.o httpauth.o urldecode.o OBJS-$(CONFIG_HTTPPROXY_PROTOCOL) += http.o httpauth.o urldecode.o OBJS-$(CONFIG_HTTPS_PROTOCOL) += http.o httpauth.o urldecode.o +OBJS-$(CONFIG_ICECAST_PROTOCOL) += icecast.o OBJS-$(CONFIG_MMSH_PROTOCOL) += mmsh.o mms.o asf.o OBJS-$(CONFIG_MMST_PROTOCOL) += mmst.o mms.o asf.o OBJS-$(CONFIG_MD5_PROTOCOL) += md5proto.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 00de817..5599bae 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -347,6 +347,7 @@ void av_register_all(void) REGISTER_PROTOCOL(HTTP, http); REGISTER_PROTOCOL(HTTPPROXY, httpproxy); REGISTER_PROTOCOL(HTTPS, https); + REGISTER_PROTOCOL(ICECAST, icecast); REGISTER_PROTOCOL(MMSH, mmsh); REGISTER_PROTOCOL(MMST, mmst); REGISTER_PROTOCOL(MD5, md5); diff --git a/libavformat/version.h b/libavformat/version.h index 4e28112..053109e 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -30,8 +30,8 @@ #include "libavutil/version.h" #define LIBAVFORMAT_VERSION_MAJOR 55 -#define LIBAVFORMAT_VERSION_MINOR 48 -#define LIBAVFORMAT_VERSION_MICRO 101 +#define LIBAVFORMAT_VERSION_MINOR 49 +#define LIBAVFORMAT_VERSION_MICRO 0 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ -- 1.8.5.2 (Apple Git-48) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel