]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/microdvdenc.c
Merge commit '3b08d9d932eef09403074d5af31e10d8011e840b'
[ffmpeg] / libavformat / microdvdenc.c
index 4d8438437b735172c1029d4e505084c679173f35..04f475b645394690b0fac6818ef313d3458a3650 100644 (file)
 
 static int microdvd_write_header(struct AVFormatContext *s)
 {
-    AVCodecContext *avctx = s->streams[0]->codec;
-    AVRational tb = avctx->time_base;
+    AVCodecParameters *par = s->streams[0]->codecpar;
+    AVRational framerate = s->streams[0]->avg_frame_rate;
 
-    if (s->nb_streams != 1 || avctx->codec_id != AV_CODEC_ID_MICRODVD) {
+    if (s->nb_streams != 1 || par->codec_id != AV_CODEC_ID_MICRODVD) {
         av_log(s, AV_LOG_ERROR, "Exactly one MicroDVD stream is needed.\n");
         return -1;
     }
 
-    if (avctx->extradata && avctx->extradata_size > 0) {
+    if (par->extradata && par->extradata_size > 0) {
         avio_write(s->pb, "{DEFAULT}{}", 11);
-        avio_write(s->pb, avctx->extradata, avctx->extradata_size);
+        avio_write(s->pb, par->extradata, par->extradata_size);
         avio_flush(s->pb);
     }
 
-    avpriv_set_pts_info(s->streams[0], 64, tb.num, tb.den);
+    avpriv_set_pts_info(s->streams[0], 64, framerate.num, framerate.den);
     return 0;
 }