]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/asfenc.c
asfenc: avoid negative timestamps
[ffmpeg] / libavformat / asfenc.c
index 79f21a37f76deccaaf3e006a62f9a6352c67d458..82681d24f14adb198d8a98d81e60b12b4b7826d8 100644 (file)
@@ -318,7 +318,7 @@ static int asf_write_header1(AVFormatContext *s, int64_t file_size, int64_t data
 
     duration = asf->duration + PREROLL_TIME * 10000;
     has_title = tags[0] || tags[1] || tags[2] || tags[3] || tags[4];
-    metadata_count = s->metadata ? s->metadata->count : 0;
+    metadata_count = av_dict_count(s->metadata);
 
     bit_rate = 0;
     for(n=0;n<s->nb_streams;n++) {
@@ -579,6 +579,9 @@ static int asf_write_header(AVFormatContext *s)
     ffio_init_context(&asf->pb, asf->packet_buf, s->packet_size, 1,
                   NULL, NULL, NULL, NULL);
 
+    if (s->avoid_negative_ts < 0)
+        s->avoid_negative_ts = 1;
+
     return 0;
 }
 
@@ -893,7 +896,6 @@ static int asf_write_trailer(AVFormatContext *s)
         asf_write_header1(s, file_size, data_size - asf->data_offset);
     }
 
-    avio_flush(s->pb);
     av_free(asf->index_ptr);
     return 0;
 }