summaryrefslogtreecommitdiff
path: root/libavformat/dashenc.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2017-09-26 13:59:56 -0300
committerJames Almer <jamrial@gmail.com>2017-09-26 13:59:56 -0300
commit52223ffe44614738499ea6c0068810e250fb7b26 (patch)
tree7b9b6e57d4034ffefb52be71b68c4620b00d06a7 /libavformat/dashenc.c
parent6bf48c4805cbb9754aa5a7bcb5f46df6bda95447 (diff)
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 <jamrial@gmail.com>
Diffstat (limited to 'libavformat/dashenc.c')
-rw-r--r--libavformat/dashenc.c42
1 files 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