aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/dashenc.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2020-02-18 12:54:53 -0300
committerJames Almer <jamrial@gmail.com>2020-02-22 23:19:07 -0300
commit5dda6c173f8c8d169f934731e31d34c1fe5da75a (patch)
tree45dee1af08fde2ee83bc492ddd82678f10b2be0c /libavformat/dashenc.c
parentdbd02443ae08126a498ddfaf9e7f044471e1ac1c (diff)
downloadffmpeg-5dda6c173f8c8d169f934731e31d34c1fe5da75a.tar.gz
avformat/dashenc: always attempt to enable prft in ldash mode
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/dashenc.c')
-rw-r--r--libavformat/dashenc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index ee5ab701ef..3d69fab5cd 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -1394,6 +1394,12 @@ static int dash_init(AVFormatContext *s)
c->frag_type = FRAG_TYPE_EVERY_FRAME;
}
+ if (c->write_prft < 0) {
+ c->write_prft = c->ldash;
+ if (c->ldash)
+ av_log(s, AV_LOG_INFO, "Enabling Producer Reference Time element for Low Latency mode\n");
+ }
+
if (c->write_prft && !c->utc_timing_url) {
av_log(s, AV_LOG_WARNING, "Producer Reference Time element option will be ignored as utc_timing_url is not set\n");
c->write_prft = 0;
@@ -2352,7 +2358,7 @@ static const AVOption options[] = {
{ "lhls", "Enable Low-latency HLS(Experimental). Adds #EXT-X-PREFETCH tag with current segment's URI", OFFSET(lhls), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
{ "ldash", "Enable Low-latency dash. Constrains the value of a few elements", OFFSET(ldash), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, E },
{ "master_m3u8_publish_rate", "Publish master playlist every after this many segment intervals", OFFSET(master_publish_rate), AV_OPT_TYPE_INT, {.i64 = 0}, 0, UINT_MAX, E},
- { "write_prft", "Write producer reference time element", OFFSET(write_prft), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, E},
+ { "write_prft", "Write producer reference time element", OFFSET(write_prft), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, E},
{ "mpd_profile", "Set profiles. Elements and values used in the manifest may be constrained by them", OFFSET(profile), AV_OPT_TYPE_FLAGS, {.i64 = MPD_PROFILE_DASH }, 0, UINT_MAX, E, "mpd_profile"},
{ "dash", "MPEG-DASH ISO Base media file format live profile", 0, AV_OPT_TYPE_CONST, {.i64 = MPD_PROFILE_DASH }, 0, UINT_MAX, E, "mpd_profile"},
{ "dvb_dash", "DVB-DASH profile", 0, AV_OPT_TYPE_CONST, {.i64 = MPD_PROFILE_DVB }, 0, UINT_MAX, E, "mpd_profile"},