ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Tue Sep 26 13:59:56 2017 -0300| [52223ffe44614738499ea6c0068810e250fb7b26] | committer: James Almer
Revert "lavf/dashenc: update bitrates on dash_write_trailer" This reverts commit 89c0fda5f43d8a3d3a1c538ff8d72e6737bc7d8e. A different solution will be committed instead. Signed-off-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=52223ffe44614738499ea6c0068810e250fb7b26 --- libavformat/dashenc.c | 42 ++++++++++++------------------------------ 1 file changed, 12 insertions(+), 30 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 6471649eb7..ca24015115 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -443,30 +443,6 @@ static int write_manifest(AVFormatContext *s, int final) return 0; } -static int set_bitrate(AVFormatContext *s) -{ - DASHContext *c = s->priv_data; - int i; - - for (i = 0; i < s->nb_streams; i++) { - OutputStream *os = &c->streams[i]; - - os->bit_rate = s->streams[i]->codecpar->bit_rate; - if (os->bit_rate) { - snprintf(os->bandwidth_str, sizeof(os->bandwidth_str), - " bandwidth=\"%d\"", os->bit_rate); - } else { - int level = s->strict_std_compliance >= FF_COMPLIANCE_STRICT ? - AV_LOG_ERROR : AV_LOG_WARNING; - av_log(s, level, "No bit rate set for stream %d\n", i); - if (s->strict_std_compliance >= FF_COMPLIANCE_STRICT) - return AVERROR(EINVAL); - } - } - - return 0; -} - static int dash_init(AVFormatContext *s) { DASHContext *c = s->priv_data; @@ -503,10 +479,6 @@ static int dash_init(AVFormatContext *s) if (!c->streams) return AVERROR(ENOMEM); - ret = set_bitrate(s); - if (ret < 0) - return ret; - for (i = 0; i < s->nb_streams; i++) { OutputStream *os = &c->streams[i]; AVFormatContext *ctx; @@ -514,6 +486,18 @@ static int dash_init(AVFormatContext *s) AVDictionary *opts = NULL; char filename[1024]; + os->bit_rate = s->streams[i]->codecpar->bit_rate; + if (os->bit_rate) { + snprintf(os->bandwidth_str, sizeof(os->bandwidth_str), + " bandwidth=\"%d\"", os->bit_rate); + } else { + int level = s->strict_std_compliance >= FF_COMPLIANCE_STRICT ? + AV_LOG_ERROR : AV_LOG_WARNING; + av_log(s, level, "No bit rate set for stream %d\n", i); + if (s->strict_std_compliance >= FF_COMPLIANCE_STRICT) + return AVERROR(EINVAL); + } + ctx = avformat_alloc_context(); if (!ctx) return AVERROR(ENOMEM); @@ -878,8 +862,6 @@ static int dash_write_trailer(AVFormatContext *s) { DASHContext *c = s->priv_data; - set_bitrate(s); - if (s->nb_streams > 0) { OutputStream *os = &c->streams[0]; // If no segments have been written so far, try to do a crude _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog