avformat/hlsenc: Added configuration to override HTTP User-Agent
Signed-off-by: Karthick J <kjeyapal@akamai.com> Signed-off-by: Steven Liu <lq@onvideo.cn>
This commit is contained in:
		
							parent
							
								
									516ac7bcc7
								
							
						
					
					
						commit
						837c55e072
					
				@ -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.
 | 
			
		||||
 | 
			
		||||
@item http_user_agent
 | 
			
		||||
Override User-Agent field in HTTP header. Applicable only for HTTP output.
 | 
			
		||||
 | 
			
		||||
@end table
 | 
			
		||||
 | 
			
		||||
@anchor{ico}
 | 
			
		||||
 | 
			
		||||
@ -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 },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user