Original ffmpeg commit 76d851b by Michael Niedermayer.
Bug-Debian: https://bugs.debian.org/740421
---
doc/protocols.texi | 3 +++
libavformat/http.c | 4 ++++
2 files changed, 7 insertions(+)
diff --git a/doc/protocols.texi b/doc/protocols.texi
index 58fa8a0..9c32e9b 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -92,6 +92,9 @@ HTTP (Hyper Text Transfer Protocol).
This protocol accepts the following options:
@table @option
+@item mime_type
+Set MIME type.
+
@item icy
If set to 1 request ICY (SHOUTcast) metadata from the server. If the server
supports this, the metadata has to be retrieved by the application by reading
diff --git a/libavformat/http.c b/libavformat/http.c
index 89e3334..3130f8f 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -64,6 +64,7 @@ typedef struct {
int multiple_requests; /**< A flag which indicates if we use persistent
connections. */
uint8_t *post_data;
int post_datalen;
+ char *mime_type;
int icy;
char *icy_metadata_headers;
char *icy_metadata_packet;
@@ -84,6 +85,7 @@ static const AVOption options[] = {
{"headers", "custom HTTP headers, can override built in default headers",
OFFSET(headers), AV_OPT_TYPE_STRING, { 0 }, 0, 0, D|E },
{"multiple_requests", "use persistent connections", OFFSET(multiple_requests),
AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, D|E },
{"post_data", "custom HTTP post data", OFFSET(post_data), AV_OPT_TYPE_BINARY,
.flags = D|E },
+{"mime_type", "set MIME type", OFFSET(mime_type), AV_OPT_TYPE_STRING, {0}, 0,
0, AV_OPT_FLAG_EXPORT | AV_OPT_FLAG_READONLY },
{"icy", "request ICY metadata", OFFSET(icy), AV_OPT_TYPE_INT, {.i64 = 0}, 0,
1, D },
{"icy_metadata_headers", "return ICY metadata headers",
OFFSET(icy_metadata_headers), AV_OPT_TYPE_STRING, {0}, 0, 0, AV_OPT_FLAG_EXPORT
},
{"icy_metadata_packet", "return current ICY metadata packet",
OFFSET(icy_metadata_packet), AV_OPT_TYPE_STRING, {0}, 0, 0, AV_OPT_FLAG_EXPORT
},
@@ -385,6 +387,8 @@ static int process_line(URLContext *h, char *line, int
line_count,
} else if (!av_strcasecmp (tag, "Connection")) {
if (!strcmp(p, "close"))
s->willclose = 1;
+ } else if (!av_strcasecmp (tag, "Content-Type")) {
+ av_free(s->mime_type); s->mime_type = av_strdup(p);
} else if (!av_strcasecmp (tag, "Icy-MetaInt")) {
s->icy_metaint = strtoll(p, NULL, 10);
} else if (!av_strncasecmp(tag, "Icy-", 4)) {
--
1.9.0
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel