[FFmpeg-cvslog] avformat/hlsenc: Added configuration to override HTTP User-Agent
Karthick J
git at videolan.org
Tue Sep 5 18:32:20 EEST 2017
ffmpeg | branch: master | Karthick J <kjeyapal at akamai.com> | Tue Sep 5 23:30:52 2017 +0800| [837c55e07271b59cd151b3cbecb1822fc10adf77] | committer: Steven Liu
avformat/hlsenc: Added configuration to override HTTP User-Agent
Signed-off-by: Karthick J <kjeyapal at akamai.com>
Signed-off-by: Steven Liu <lq at onvideo.cn>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=837c55e07271b59cd151b3cbecb1822fc10adf77
---
doc/muxers.texi | 4 ++++
libavformat/hlsenc.c | 5 +++++
2 files changed, 9 insertions(+)
diff --git a/doc/muxers.texi b/doc/muxers.texi
index 2bec5f8954..5a4f17bf8d 100644
--- a/doc/muxers.texi
+++ b/doc/muxers.texi
@@ -728,6 +728,10 @@ server using the HTTP PUT method, and update the m3u8 files every
@code{refresh} times using the same method.
Note that the HTTP server must support the given method for uploading
files.
+
+ at item http_user_agent
+Override User-Agent field in HTTP header. Applicable only for HTTP output.
+
@end table
@anchor{ico}
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 4a90886331..895aa41bc3 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -174,6 +174,7 @@ typedef struct HLSContext {
double initial_prog_date_time;
char current_segment_final_filename_fmt[1024]; // when renaming segments
+ char *user_agent;
} HLSContext;
static int get_int_from_double(double val)
@@ -974,6 +975,9 @@ static void set_http_options(AVFormatContext *s, AVDictionary **options, HLSCont
av_log(c, AV_LOG_WARNING, "No HTTP method set, hls muxer defaulting to method PUT.\n");
av_dict_set(options, "method", "PUT", 0);
}
+ if (c->user_agent)
+ av_dict_set(options, "user_agent", c->user_agent, 0);
+
}
static void write_m3u8_head_block(HLSContext *hls, AVIOContext *out, int version,
@@ -1816,6 +1820,7 @@ static const AVOption options[] = {
{"generic", "start_number value (default)", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_START_SEQUENCE_AS_START_NUMBER }, INT_MIN, INT_MAX, E, "start_sequence_source_type" },
{"epoch", "seconds since epoch", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_START_SEQUENCE_AS_SECONDS_SINCE_EPOCH }, INT_MIN, INT_MAX, E, "start_sequence_source_type" },
{"datetime", "current datetime as YYYYMMDDhhmmss", 0, AV_OPT_TYPE_CONST, {.i64 = HLS_START_SEQUENCE_AS_FORMATTED_DATETIME }, INT_MIN, INT_MAX, E, "start_sequence_source_type" },
+ {"http_user_agent", "override User-Agent field in HTTP header", OFFSET(user_agent), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E},
{ NULL },
};
More information about the ffmpeg-cvslog
mailing list