mirror of https://github.com/mpv-player/mpv
ad_spdif: minor cleanups
Use avcodec_free_context() unstead of random other calls. Actually it was already used in the second case, but calling avcodec_close() is redundant. Don't crash if allocating a codec context fails.
This commit is contained in:
parent
02468dcbde
commit
b016760a28
|
@ -107,6 +107,10 @@ static void determine_codec_params(struct dec_audio *da, AVPacket *pkt,
|
|||
parser->flags |= PARSER_FLAG_COMPLETE_FRAMES;
|
||||
|
||||
ctx = avcodec_alloc_context3(NULL);
|
||||
if (!ctx) {
|
||||
av_parser_close(parser);
|
||||
goto done;
|
||||
}
|
||||
|
||||
uint8_t *d = NULL;
|
||||
int s = 0;
|
||||
|
@ -114,7 +118,7 @@ static void determine_codec_params(struct dec_audio *da, AVPacket *pkt,
|
|||
*out_profile = profile = ctx->profile;
|
||||
*out_rate = ctx->sample_rate;
|
||||
|
||||
av_free(ctx);
|
||||
avcodec_free_context(&ctx);
|
||||
av_parser_close(parser);
|
||||
}
|
||||
|
||||
|
@ -149,8 +153,6 @@ static void determine_codec_params(struct dec_audio *da, AVPacket *pkt,
|
|||
|
||||
done:
|
||||
av_frame_free(&frame);
|
||||
if (ctx)
|
||||
avcodec_close(ctx);
|
||||
avcodec_free_context(&ctx);
|
||||
|
||||
if (profile == FF_PROFILE_UNKNOWN)
|
||||
|
|
Loading…
Reference in New Issue