[FFmpeg-cvslog] r22007 - trunk/ffplay.c
David Conrad
lessen42
Fri Mar 5 00:04:47 CET 2010
On Feb 23, 2010, at 12:09 PM, michael wrote:
> Author: michael
> Date: Tue Feb 23 18:09:53 2010
> New Revision: 22007
>
> Log:
> Dont modify wanted_stream.
>
> Modified:
> trunk/ffplay.c
>
> Modified: trunk/ffplay.c
> ==============================================================================
> --- trunk/ffplay.c Tue Feb 23 17:56:23 2010 (r22006)
> +++ trunk/ffplay.c Tue Feb 23 18:09:53 2010 (r22007)
> @@ -1980,6 +1980,7 @@ static int decode_thread(void *arg)
> AVFormatContext *ic;
> int err, i, ret;
> int st_index[CODEC_TYPE_NB];
> + int st_count[CODEC_TYPE_NB]={0};
> AVPacket pkt1, *pkt = &pkt1;
> AVFormatParameters params, *ap = ¶ms;
> int eof=0;
> @@ -2045,18 +2046,20 @@ static int decode_thread(void *arg)
> for(i = 0; i < ic->nb_streams; i++) {
> AVCodecContext *avctx = ic->streams[i]->codec;
> ic->streams[i]->discard = AVDISCARD_ALL;
> + if(avctx->codec_type >= (unsigned)CODEC_TYPE_NB)
> + exit(1);
Why error out if the codec_type is unknown? (this broke ogg with any unhandled tracks since we don't know codec_type unless we can handle the track)
> + if(st_count[avctx->codec_type]++ != wanted_stream[avctx->codec_type] && wanted_stream[avctx->codec_type] >= 0)
> + continue;
> +
> switch(avctx->codec_type) {
> case CODEC_TYPE_AUDIO:
> - if (wanted_stream[CODEC_TYPE_AUDIO]-- >= 0 && !audio_disable)
> + if (!audio_disable)
> st_index[CODEC_TYPE_AUDIO] = i;
> break;
> case CODEC_TYPE_VIDEO:
> - if (wanted_stream[CODEC_TYPE_VIDEO]-- >= 0 && !video_disable)
> - st_index[CODEC_TYPE_VIDEO] = i;
> - break;
> case CODEC_TYPE_SUBTITLE:
> - if (wanted_stream[CODEC_TYPE_SUBTITLE]-- >= 0 && !video_disable)
> - st_index[CODEC_TYPE_SUBTITLE] = i;
> + if (!video_disable)
> + st_index[avctx->codec_type] = i;
> break;
> default:
> break;
> _______________________________________________
> ffmpeg-cvslog mailing list
> ffmpeg-cvslog at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-cvslog
More information about the ffmpeg-cvslog
mailing list