From 02a9c95a0fef73ade4237021ba7125a5a05da839 Mon Sep 17 00:00:00 2001 From: Dan Dennedy Date: Sun, 8 Sep 2013 21:27:41 -0700 Subject: [PATCH] Fix muxing vorbis into webm/mkv with libavcodec < 55. --- src/modules/avformat/consumer_avformat.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/avformat/consumer_avformat.c b/src/modules/avformat/consumer_avformat.c index ceaa12c6..33b3a93f 100644 --- a/src/modules/avformat/consumer_avformat.c +++ b/src/modules/avformat/consumer_avformat.c @@ -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; -- 2.39.5