]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/http.c
Merge commit 'f1d8763a02b5fce9a7d9789e049d74a45b15e1e8'
[ffmpeg] / libavformat / http.c
index 308c22dd9031e8ab3ffa4b801b17b50d5a4a8c79..576875f43a4a3e55f1bafaf7b28c044f183c011c 100644 (file)
@@ -63,6 +63,7 @@ typedef struct {
     int post_datalen;
     int is_akamai;
     int rw_timeout;
+    char *mime_type;
 } HTTPContext;
 
 #define OFFSET(x) offsetof(HTTPContext, x)
@@ -78,6 +79,7 @@ static const AVOption options[] = {
 {"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 },
 {"timeout", "timeout of socket i/o operations", OFFSET(rw_timeout), AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX, D|E },
+{"mime_type", "", OFFSET(mime_type), AV_OPT_TYPE_STRING, {0}, 0, 0, 0 },
 {NULL}
 };
 #define HTTP_CLASS(flavor)\
@@ -355,6 +357,8 @@ static int process_line(URLContext *h, char *line, int line_count,
                 s->willclose = 1;
         } else if (!av_strcasecmp (tag, "Server") && !av_strcasecmp (p, "AkamaiGHost")) {
             s->is_akamai = 1;
+        } else if (!av_strcasecmp (tag, "Content-Type")) {
+            av_free(s->mime_type); s->mime_type = av_strdup(p);
         }
     }
     return 1;