examples/muxing: add missing error checks
This commit is contained in:
parent
e56b3a5ebb
commit
6133149e0c
@ -115,6 +115,10 @@ static void open_audio(AVFormatContext *oc, AVCodec *codec, AVStream *st)
|
|||||||
samples = av_malloc(audio_input_frame_size *
|
samples = av_malloc(audio_input_frame_size *
|
||||||
av_get_bytes_per_sample(c->sample_fmt) *
|
av_get_bytes_per_sample(c->sample_fmt) *
|
||||||
c->channels);
|
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
|
/* 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;
|
AVCodecContext *c;
|
||||||
AVPacket pkt = { 0 }; // data and size must be 0;
|
AVPacket pkt = { 0 }; // data and size must be 0;
|
||||||
AVFrame *frame = avcodec_alloc_frame();
|
AVFrame *frame = avcodec_alloc_frame();
|
||||||
int got_packet;
|
int got_packet, ret;
|
||||||
|
|
||||||
av_init_packet(&pkt);
|
av_init_packet(&pkt);
|
||||||
c = st->codec;
|
c = st->codec;
|
||||||
@ -152,7 +156,12 @@ static void write_audio_frame(AVFormatContext *oc, AVStream *st)
|
|||||||
av_get_bytes_per_sample(c->sample_fmt) *
|
av_get_bytes_per_sample(c->sample_fmt) *
|
||||||
c->channels, 1);
|
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)
|
if (!got_packet)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user