2017-12-27 15:25 GMT+08:00 Steven Liu <lingjiujia...@gmail.com>: > 2017-12-27 6:22 GMT+08:00 Aman Gupta <ffm...@tmm1.net>: >> On Sat, Dec 16, 2017 at 11:03 AM Karthick J <kjeya...@akamai.com> wrote: >> >>> From: Karthick Jeyapal <kjeya...@akamai.com> >>> >>> --- >>> libavformat/hlsenc.c | 12 +++--------- >>> libavformat/internal.h | 8 ++++++++ >>> libavformat/utils.c | 5 +++++ >>> 3 files changed, 16 insertions(+), 9 deletions(-) >>> >>> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c >>> index e3442c3..03d54c7 100644 >>> --- a/libavformat/hlsenc.c >>> +++ b/libavformat/hlsenc.c >>> @@ -240,15 +240,10 @@ static int mkdir_p(const char *path) { >>> return ret; >>> } >>> >>> -static int is_http_proto(char *filename) { >>> - const char *proto = avio_find_protocol_name(filename); >>> - return proto ? (!av_strcasecmp(proto, "http") || >>> !av_strcasecmp(proto, "https")) : 0; >>> -} >>> - >>> static int hlsenc_io_open(AVFormatContext *s, AVIOContext **pb, char >>> *filename, >>> AVDictionary **options) { >>> HLSContext *hls = s->priv_data; >>> - int http_base_proto = filename ? is_http_proto(filename) : 0; >>> + int http_base_proto = filename ? ff_is_http_proto(filename) : 0; >>> int err = AVERROR_MUXER_NOT_FOUND; >>> if (!*pb || !http_base_proto || !hls->http_persistent) { >>> err = s->io_open(s, pb, filename, AVIO_FLAG_WRITE, options); >>> @@ -264,8 +259,7 @@ static int hlsenc_io_open(AVFormatContext *s, >>> AVIOContext **pb, char *filename, >>> >>> static void hlsenc_io_close(AVFormatContext *s, AVIOContext **pb, char >>> *filename) { >>> HLSContext *hls = s->priv_data; >>> - int http_base_proto = filename ? is_http_proto(filename) : 0; >>> - >>> + int http_base_proto = filename ? ff_is_http_proto(filename) : 0; >>> if (!http_base_proto || !hls->http_persistent || hls->key_info_file >>> || hls->encrypt) { >>> ff_format_io_close(s, pb); >>> } else { >>> @@ -275,7 +269,7 @@ static void hlsenc_io_close(AVFormatContext *s, >>> AVIOContext **pb, char *filename >>> >>> static void set_http_options(AVFormatContext *s, AVDictionary **options, >>> HLSContext *c) >>> { >>> - int http_base_proto = is_http_proto(s->filename); >>> + int http_base_proto = ff_is_http_proto(s->filename); >>> >>> if (c->method) { >>> av_dict_set(options, "method", c->method, 0); >>> diff --git a/libavformat/internal.h b/libavformat/internal.h >>> index 36a5721..8f168c9 100644 >>> --- a/libavformat/internal.h >>> +++ b/libavformat/internal.h >>> @@ -619,6 +619,14 @@ int ff_format_output_open(AVFormatContext *s, const >>> char *url, AVDictionary **op >>> void ff_format_io_close(AVFormatContext *s, AVIOContext **pb); >>> >>> /** >>> + * Utility function to check if the file uses http or https protocol >>> + * >>> + * @param s AVFormatContext >>> + * @param filename URL or file name to open for writing >>> + */ >>> +int ff_is_http_proto(char *filename); >> >> >> >> +1 from me. This would be useful for some of the changes I'm making to the >> hls demuxer as well. >> >> Any objections? >> >> Aman >> >> >>> + >>> +/** >>> * Parse creation_time in AVFormatContext metadata if exists and warn if >>> the >>> * parsing fails. >>> * >>> diff --git a/libavformat/utils.c b/libavformat/utils.c >>> index 84e4920..f18a7c8 100644 >>> --- a/libavformat/utils.c >>> +++ b/libavformat/utils.c >>> @@ -5459,6 +5459,11 @@ void ff_format_io_close(AVFormatContext *s, >>> AVIOContext **pb) >>> *pb = NULL; >>> } >>> >>> +int ff_is_http_proto(char *filename) { >>> + const char *proto = avio_find_protocol_name(filename); >>> + return proto ? (!av_strcasecmp(proto, "http") || >>> !av_strcasecmp(proto, "https")) : 0; >>> +} >>> + >>> int ff_parse_creation_time_metadata(AVFormatContext *s, int64_t >>> *timestamp, int return_seconds) >>> { >>> AVDictionaryEntry *entry; >>> -- >>> 1.9.1 >>> > > LGTM > > Patchset pushed
Thanks Steven _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel