From 6133149e0c70f570291c9b685a0be38fde58efe1 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Mon, 15 Oct 2012 15:33:58 +0200 Subject: [PATCH] examples/muxing: add missing error checks --- doc/examples/muxing.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/examples/muxing.c b/doc/examples/muxing.c index 6daeb9e7ca..c6b0294b37 100644 --- a/doc/examples/muxing.c +++ b/doc/examples/muxing.c @@ -115,6 +115,10 @@ static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st) samples = av_malloc(audio_input_frame_size * av_get_bytes_per_sample(c->sample_fmt) * c->channels); + if (!samples) { + fprintf(stderr, "Could not allocate audio samples buffer\n"); + exit(1); + } } /* Prepare a 16 bit dummy audio frame of 'frame_size' samples and @@ -139,7 +143,7 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st) AVCodecContext *c; AVPacket pkt = { 0 }; // data and size must be 0; AVFrame *frame = avcodec_alloc_frame(); - int got_packet; + int got_packet, ret; av_init_packet(&pkt); c = st->codec; @@ -152,7 +156,12 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st) av_get_bytes_per_sample(c->sample_fmt) * c->channels, 1); - avcodec_encode_audio2(c, &pkt, frame, &got_packet); + ret = avcodec_encode_audio2(c, &pkt, frame, &got_packet); + if (ret < 0) { + fprintf(stderr, "Error encoding audio frame\n"); + exit(1); + } + if (!got_packet) return;