# HG changeset patch # User reimar # Date 1289053894 0 # Node ID 90206ba16fec424e1783f0bd7285f2d72250d038 # Parent 059cc86b02dc573506e907f917a4ac758910d0b9 Set st->discard in the same way for audio and video, fixes -aid no longer working. diff -r 059cc86b02dc -r 90206ba16fec libmpdemux/demux_lavf.c --- a/libmpdemux/demux_lavf.c Wed Nov 03 16:44:13 2010 +0000 +++ b/libmpdemux/demux_lavf.c Sat Nov 06 14:31:34 2010 +0000 @@ -333,11 +333,12 @@ if (st->disposition & AV_DISPOSITION_DEFAULT) sh_audio->default_track = 1; if(mp_msg_test(MSGT_HEADER,MSGL_V) ) print_wave_header(sh_audio->wf, MSGL_V); - // select the first audio stream - if (!demuxer->audio->sh) { + // select the first audio stream if auto-selection is requested + if (demuxer->audio->id == -1) { demuxer->audio->id = i; demuxer->audio->sh= demuxer->a_streams[i]; - } else + } + if (demuxer->audio->id != i) st->discard= AVDISCARD_ALL; stream_id = priv->audio_streams++; break; @@ -402,12 +403,13 @@ int biClrUsed; int biClrImportant; */ - if(demuxer->video->id != i && demuxer->video->id != -1) - st->discard= AVDISCARD_ALL; - else{ + // select the first video stream if auto-selection is requested + if(demuxer->video->id == -1) { demuxer->video->id = i; demuxer->video->sh= demuxer->v_streams[i]; } + if(demuxer->video->id != i) + st->discard= AVDISCARD_ALL; stream_id = priv->video_streams++; break; }