Mercurial > libavcodec.hg
changeset 10345:294c444866f7 libavcodec
Make avcodec_open set codec_id and codec_type if they haven't been set.
This fixes the API breakage introduced by the check that avctx codec id and type
match the opened codec and should make (almost?) all applications work again.
author | reimar |
---|---|
date | Thu, 01 Oct 2009 15:54:55 +0000 |
parents | 2b8a327189cd |
children | f12b7ea2df2a |
files | utils.c |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/utils.c Thu Oct 01 15:40:29 2009 +0000 +++ b/utils.c Thu Oct 01 15:54:55 2009 +0000 @@ -480,6 +480,11 @@ } avctx->codec = codec; + if ((avctx->codec_type == CODEC_TYPE_UNKNOWN || avctx->codec_type == codec->type) && + avctx->codec_id == CODEC_ID_NONE) { + avctx->codec_type = codec->type; + avctx->codec_id = codec->id; + } if(avctx->codec_id != codec->id || avctx->codec_type != codec->type){ av_log(avctx, AV_LOG_ERROR, "codec type or id mismatches\n"); goto free_and_end;