Merge commit '9df9309d233f59d9706444a1e24ac24139f2640d'
authorRodger Combs <rodger.combs@gmail.com>
Tue, 26 Sep 2017 17:02:44 +0000 (14:02 -0300)
committerJames Almer <jamrial@gmail.com>
Tue, 26 Sep 2017 17:02:44 +0000 (14:02 -0300)
* commit '9df9309d233f59d9706444a1e24ac24139f2640d':
  dashenc: calculate stream bitrate from first segment if not available

Merged-by: Rodger Combs <rodger.combs@gmail.com>
1  2 
libavformat/dashenc.c

@@@ -747,13 -830,20 +747,23 @@@ static int dash_flush(AVFormatContext *
              find_index_range(s, full_path, start_pos, &index_length);
          } else {
              ff_format_io_close(s, &os->out);
 -            ret = ff_rename(temp_path, full_path);
 -            if (ret < 0)
 -                break;
 +
 +            if (use_rename) {
 +                ret = avpriv_io_move(temp_path, full_path);
 +                if (ret < 0)
 +                    break;
 +            }
          }
+         if (!os->bit_rate) {
+             // calculate average bitrate of first segment
+             int64_t bitrate = (int64_t) range_length * 8 * AV_TIME_BASE / (os->max_pts - os->start_pts);
+             if (bitrate >= 0) {
+                 os->bit_rate = bitrate;
+                 snprintf(os->bandwidth_str, sizeof(os->bandwidth_str),
+                      " bandwidth=\"%d\"", os->bit_rate);
+             }
+         }
          add_segment(os, filename, os->start_pts, os->max_pts - os->start_pts, start_pos, range_length, index_length);
          av_log(s, AV_LOG_VERBOSE, "Representation %d media segment %d written to: %s\n", i, os->segment_index, full_path);
      }