summaryrefslogtreecommitdiff
path: root/libavformat/output-example.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2010-01-21 17:10:13 +0000
committerBenoit Fouet <benoit.fouet@free.fr>2010-01-21 17:10:13 +0000
commit073189917e4dfa0640e8180110b07e130471f37f (patch)
tree23b5dd79d8f3f284951eda9b734c2dff851b1366 /libavformat/output-example.c
parent31f6e3c19e1e967d94a616c4fbc585460ded443c (diff)
Make output-example.c handle AAC audio.
Patch by Martin Storsjö martin martin st Originally committed as revision 21367 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/output-example.c')
-rw-r--r--libavformat/output-example.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libavformat/output-example.c b/libavformat/output-example.c
index 17c97f79db..7eb3352b74 100644
--- a/libavformat/output-example.c
+++ b/libavformat/output-example.c
@@ -75,6 +75,11 @@ static AVStream *add_audio_stream(AVFormatContext *oc, enum CodecID codec_id)
c->bit_rate = 64000;
c->sample_rate = 44100;
c->channels = 2;
+
+ // some formats want stream headers to be separate
+ if(oc->oformat->flags & AVFMT_GLOBALHEADER)
+ c->flags |= CODEC_FLAG_GLOBAL_HEADER;
+
return st;
}
@@ -156,7 +161,7 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st)
pkt.size= avcodec_encode_audio(c, audio_outbuf, audio_outbuf_size, samples);
- if (c->coded_frame->pts != AV_NOPTS_VALUE)
+ if (c->coded_frame && c->coded_frame->pts != AV_NOPTS_VALUE)
pkt.pts= av_rescale_q(c->coded_frame->pts, c->time_base, st->time_base);
pkt.flags |= PKT_FLAG_KEY;
pkt.stream_index= st->index;