diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-09-07 13:16:04 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2013-01-02 02:31:27 +0100 |
commit | 5502b073ec2996b61275aa1ea1c8f3ac24a3d88e (patch) | |
tree | 169898581e6d924601c54611b782e673d8e59980 /libavformat/utils.c | |
parent | 8bc0127b3d591a06da4ba2e349324c2ee2f3153a (diff) | |
download | ffmpeg-5502b073ec2996b61275aa1ea1c8f3ac24a3d88e.tar.gz |
lavf: factor codec id forcing out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit a7fbc7d7b7eabc74ceb1970a995c56043315e433)
Conflicts:
libavformat/utils.c
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r-- | libavformat/utils.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index fd0b10b917..1e0b344b5c 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -673,6 +673,21 @@ fail: /*******************************************************/ +static void force_codec_ids(AVFormatContext *s, AVStream *st) +{ + switch(st->codec->codec_type){ + case AVMEDIA_TYPE_VIDEO: + if(s->video_codec_id) st->codec->codec_id= s->video_codec_id; + break; + case AVMEDIA_TYPE_AUDIO: + if(s->audio_codec_id) st->codec->codec_id= s->audio_codec_id; + break; + case AVMEDIA_TYPE_SUBTITLE: + if(s->subtitle_codec_id)st->codec->codec_id= s->subtitle_codec_id; + break; + } +} + int ff_read_packet(AVFormatContext *s, AVPacket *pkt) { int ret, i; @@ -721,17 +736,7 @@ int ff_read_packet(AVFormatContext *s, AVPacket *pkt) st= s->streams[pkt->stream_index]; - switch(st->codec->codec_type){ - case AVMEDIA_TYPE_VIDEO: - if(s->video_codec_id) st->codec->codec_id= s->video_codec_id; - break; - case AVMEDIA_TYPE_AUDIO: - if(s->audio_codec_id) st->codec->codec_id= s->audio_codec_id; - break; - case AVMEDIA_TYPE_SUBTITLE: - if(s->subtitle_codec_id)st->codec->codec_id= s->subtitle_codec_id; - break; - } + force_codec_ids(s, st); if(!pktl && st->request_probe <= 0) return ret; |