[Bf-blender-cvs] [a61e3b9] master: Fix T38422: Error writing AAC frame when using FFmpeg compiled with vo_aacenc
Sergey Sharybin
noreply at git.blender.org
Mon Feb 17 13:10:45 CET 2014
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) {
More information about the Bf-blender-cvs
mailing list