[FFmpeg-devel] [PATCH v2 1/1] libavformat/dashenc: Option to set timeout for socket I/O operation
Jeyapal, Karthick
kjeyapal at akamai.com
Sun Mar 18 09:24:22 EET 2018
On 3/5/18 3:07 PM, rpatagar at akamai.com wrote:
> From: Ravindra <rpatagar at akamai.com>
>
> ---
> doc/muxers.texi | 2 ++
> libavformat/dashenc.c | 4 ++++
> 2 files changed, 6 insertions(+)
>
> diff --git a/doc/muxers.texi b/doc/muxers.texi
> index 3a63da7..cb75c26 100644
> --- a/doc/muxers.texi
> +++ b/doc/muxers.texi
> @@ -264,6 +264,8 @@ of the adaptation sets and a,b,c,d and e are the indices of the mapped streams.
> To map all video (or audio) streams to an AdaptationSet, "v" (or "a") can be used as stream identifier instead of IDs.
>
> When no assignment is defined, this defaults to an AdaptationSet for each stream.
> + at item -timeout @var{timeout}
> +Set timeout for socket I/O operations. Applicable only for HTTP output.
> @end table
>
> @anchor{framecrc}
> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
> index 79d63e5..9feb4f1 100644
> --- a/libavformat/dashenc.c
> +++ b/libavformat/dashenc.c
> @@ -117,6 +117,7 @@ typedef struct DASHContext {
> AVIOContext *mpd_out;
> AVIOContext *m3u8_out;
> int streaming;
> + int64_t timeout;
> } DASHContext;
>
> static struct codec_string {
> @@ -269,6 +270,8 @@ static void set_http_options(AVDictionary **options, DASHContext *c)
> av_dict_set(options, "user_agent", c->user_agent, 0);
> if (c->http_persistent)
> av_dict_set_int(options, "multiple_requests", 1, 0);
> + if (c->timeout >= 0)
> + av_dict_set_int(options, "timeout", c->timeout, 0);
> }
>
> static void get_hls_playlist_name(char *playlist_name, int string_size,
> @@ -1440,6 +1443,7 @@ static const AVOption options[] = {
> { "http_persistent", "Use persistent HTTP connections", OFFSET(http_persistent), AV_OPT_TYPE_BOOL, {.i64 = 0 }, 0, 1, E },
> { "hls_playlist", "Generate HLS playlist files(master.m3u8, media_%d.m3u8)", OFFSET(hls_playlist), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
> { "streaming", "Enable/Disable streaming mode of output. Each frame will be moof fragment", OFFSET(streaming), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
> + { "timeout", "set timeout for socket I/O operations", OFFSET(timeout), AV_OPT_TYPE_DURATION, { .i64 = -1 }, -1, INT_MAX, .flags = E },
> { NULL },
> };
>
Pushed
More information about the ffmpeg-devel
mailing list