On Sun, Jun 14, 2020 at 10:23:40PM +0200, Marvin Scholz wrote: > On 14 Jun 2020, at 15:42, Michael Niedermayer wrote: > > > On Sun, Jun 14, 2020 at 12:52:44AM +0200, Marvin Scholz wrote: > > > --- > > > doc/protocols.texi | 3 +++ > > > libavformat/icecast.c | 6 +++++- > > > 2 files changed, 8 insertions(+), 1 deletion(-) > > > > > > diff --git a/doc/protocols.texi b/doc/protocols.texi > > > index 7aa758541c..32c829d2a3 100644 > > > --- a/doc/protocols.texi > > > +++ b/doc/protocols.texi > > > @@ -520,6 +520,9 @@ audio/mpeg. > > > This enables support for Icecast versions < 2.4.0, that do not > > > support the > > > HTTP PUT method but the SOURCE method. > > > > > > +@item tls > > > +Establish a TLS (HTTPS) connection to Icecast. > > > + > > > @end table > > > > > > @example > > > diff --git a/libavformat/icecast.c b/libavformat/icecast.c > > > index 38af16b99e..b06c53cabd 100644 > > > --- a/libavformat/icecast.c > > > +++ b/libavformat/icecast.c > > > @@ -43,6 +43,7 @@ typedef struct IcecastContext { > > > int public; > > > char *url; > > > char *user_agent; > > > + int tls; > > > } IcecastContext; > > > > > > #define DEFAULT_ICE_USER "source" > > > @@ -62,6 +63,7 @@ static const AVOption options[] = { > > > { "password", "set password", OFFSET(pass), AV_OPT_TYPE_STRING, > > > { .str = NULL }, 0, 0, E }, > > > { "content_type", "set content-type, MUST be set if not > > > audio/mpeg", OFFSET(content_type), AV_OPT_TYPE_STRING, { .str = NULL > > > }, 0, 0, E }, > > > { "legacy_icecast", "use legacy SOURCE method, for Icecast < > > > v2.4", OFFSET(legacy_icecast), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, > > > E }, > > > + { "tls", "use a TLS connection", OFFSET(tls), AV_OPT_TYPE_BOOL, > > > { .i64 = 0 }, 0, 1, E }, > > > { NULL } > > > }; > > > > > > @@ -162,7 +164,9 @@ static int icecast_open(URLContext *h, const > > > char *uri, int flags) > > > } > > > > > > // Build new URI for passing to http protocol > > > - ff_url_join(h_url, sizeof(h_url), "http", auth, host, port, > > > "%s", path); > > > + ff_url_join(h_url, sizeof(h_url), > > > + s->tls ? "https" : "http", > > > + auth, host, port, "%s", path); > > > // Finally open http proto handler > > > ret = ffurl_open_whitelist(&s->hd, h_url, AVIO_FLAG_READ_WRITE, > > > NULL, > > > &opt_dict, h->protocol_whitelist, > > > h->protocol_blacklist, h); > > > > Is https support common or uncommon for icecast ? > > if it is common then changing the default to enabled (in a seperate > > patch) > > would make sense > > > > the patch should be ok > > > > It's getting more common now but most people are probably still used to > have http enabled for use with source clients as most of the older > ones do not yet support TLS at all. > > Ideally it would default to auto-detect but it seems thats not easily > possible > with how the ffmpeg protocols work.
will apply thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Elect your leaders based on what they did after the last election, not based on what they say before an election.
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".