Commit: a61e3b9a9e335fdccf64fbdc942c4fd17b25646e
Author: Sergey Sharybin
Date:   Mon Feb 17 18:08:53 2014 +0600
https://developer.blender.org/rBa61e3b9a9e335fdccf64fbdc942c4fd17b25646e

Fix T38422: Error writing AAC frame when using FFmpeg compiled with vo_aacenc

Issue was caused by missing GLOBALHEADER flag set for audio stream.

Also made it so frame is getting filled with default, that's what
happening in ffmpeg.c.

===================================================================

M       source/blender/blenkernel/intern/writeffmpeg.c

===================================================================

diff --git a/source/blender/blenkernel/intern/writeffmpeg.c 
b/source/blender/blenkernel/intern/writeffmpeg.c
index ddd6780..10d6e7c 100644
--- a/source/blender/blenkernel/intern/writeffmpeg.c
+++ b/source/blender/blenkernel/intern/writeffmpeg.c
@@ -138,6 +138,7 @@ static int write_audio_frame(void)
 
 #ifdef FFMPEG_HAVE_ENCODE_AUDIO2
        frame = avcodec_alloc_frame();
+       avcodec_get_frame_defaults(frame);
        frame->pts = audio_time / av_q2d(c->time_base);
        frame->nb_samples = audio_input_samples;
        frame->format = c->sample_fmt;
@@ -710,6 +711,10 @@ static AVStream *alloc_audio_stream(RenderData *rd, int 
codec_id, AVFormatContex
                st->codec->sample_rate = best;
        }
 
+       if (of->oformat->flags & AVFMT_GLOBALHEADER) {
+               c->flags |= CODEC_FLAG_GLOBAL_HEADER;
+       }
+
        set_ffmpeg_properties(rd, c, "audio");
 
        if (avcodec_open2(c, codec, NULL) < 0) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to