aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/dashenc.c
diff options
context:
space:
mode:
authorRavindra <rpatagar@akamai.com>2018-03-05 15:07:26 +0530
committerKarthick Jeyapal <kjeyapal@akamai.com>2018-03-18 12:36:28 +0530
commit99230b7ef874129ffd3ccca0e799c66970258203 (patch)
tree0844441c9a328cbf127890009cfddab29302155e /libavformat/dashenc.c
parent86c7d8df95c15625ee582254e92f0d494e7d2d9f (diff)
downloadffmpeg-99230b7ef874129ffd3ccca0e799c66970258203.tar.gz
libavformat/dashenc: Option to set timeout for socket I/O operation
Diffstat (limited to 'libavformat/dashenc.c')
-rw-r--r--libavformat/dashenc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 79d63e52d4..9feb4f1afb 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 },
};