]> git.sesse.net Git - mlt/commitdiff
Fix muxing vorbis into webm/mkv with libavcodec < 55.
authorDan Dennedy <dan@dennedy.org>
Mon, 9 Sep 2013 04:27:41 +0000 (21:27 -0700)
committerDan Dennedy <dan@dennedy.org>
Mon, 9 Sep 2013 04:27:41 +0000 (21:27 -0700)
src/modules/avformat/consumer_avformat.c

index ceaa12c67095488bb414ee2498cbe4e37388f4e0..33b3a93f983e05597ae0830be5ae0503cfc41924 100644 (file)
@@ -1628,9 +1628,11 @@ static void *consumer_thread( void *arg )
 #endif
 #if LIBAVCODEC_VERSION_MAJOR >= 54
                                                        audio_avframe->nb_samples = FFMAX( samples, audio_input_nb_samples );
+#if LIBAVCODEC_VERSION_MAJOR >= 55
                                                        if ( audio_codec_id == AV_CODEC_ID_VORBIS )
                                                                audio_avframe->pts = synth_audio_pts;
                                                        synth_audio_pts += audio_avframe->nb_samples;
+#endif
                                                        avcodec_fill_audio_frame( audio_avframe, codec->channels, codec->sample_fmt,
                                                                (const uint8_t*) p, AUDIO_ENCODE_BUFFER_SIZE, 0 );
                                                        int got_packet = 0;
@@ -1718,9 +1720,11 @@ static void *consumer_thread( void *arg )
                                                        }
 #if LIBAVCODEC_VERSION_MAJOR >= 54
                                                        audio_avframe->nb_samples = FFMAX( samples, audio_input_nb_samples );
+#if LIBAVCODEC_VERSION_MAJOR >= 55
                                                        if ( audio_codec_id == AV_CODEC_ID_VORBIS )
                                                                audio_avframe->pts = synth_audio_pts;
                                                        synth_audio_pts += audio_avframe->nb_samples;
+#endif
                                                        avcodec_fill_audio_frame( audio_avframe, codec->channels, codec->sample_fmt,
                                                                (const uint8_t*) audio_buf_2, AUDIO_ENCODE_BUFFER_SIZE, 0 );
                                                        int got_packet = 0;
@@ -2029,9 +2033,11 @@ static void *consumer_thread( void *arg )
 #if LIBAVCODEC_VERSION_MAJOR >= 54
                                pkt.size = audio_outbuf_size;
                                audio_avframe->nb_samples = FFMAX( samples / channels, audio_input_nb_samples );
+#if LIBAVCODEC_VERSION_MAJOR >= 55
                                if ( audio_codec_id == AV_CODEC_ID_VORBIS )
                                        audio_avframe->pts = synth_audio_pts;
                                synth_audio_pts += audio_avframe->nb_samples;
+#endif
                                avcodec_fill_audio_frame( audio_avframe, c->channels, c->sample_fmt,
                                        (const uint8_t*) p, AUDIO_ENCODE_BUFFER_SIZE, 0 );
                                int got_packet = 0;