Merge commit 'f856d9c2f314c493c672dfb9c876da182525da3d'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 23 Nov 2014 00:32:35 +0000 (01:32 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 23 Nov 2014 00:34:05 +0000 (01:34 +0100)
* commit 'f856d9c2f314c493c672dfb9c876da182525da3d':
  dashenc: Don't require the stream bitrate to be known

Conflicts:
libavformat/dashenc.c

See: 5f8fcdd4481b3e740d76b09e10a80e3271ef47b5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/dashenc.c

@@@ -440,15 -440,17 +440,20 @@@ static int dash_write_header(AVFormatCo
          AVDictionary *opts = NULL;
          char filename[1024];
  
 -        if (s->streams[i]->codec->bit_rate) {
 +        int bit_rate = s->streams[i]->codec->bit_rate ?
 +                       s->streams[i]->codec->bit_rate :
 +                       s->streams[i]->codec->rc_max_rate;
 +        if (bit_rate) {
              snprintf(os->bandwidth_str, sizeof(os->bandwidth_str),
-                      " bandwidth=\"%i\"", bit_rate);
 -                     " bandwidth=\"%d\"", s->streams[i]->codec->bit_rate);
++                     " bandwidth=\"%d\"", bit_rate);
          } else {
-             av_log(s, AV_LOG_WARNING, "No bit rate set for stream %d\n", i);
-             os->bandwidth_str[0] = 0;
+             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) {
+                 ret = AVERROR(EINVAL);
+                 goto fail;
+             }
          }
  
          ctx = avformat_alloc_context();