comparison mplayer.c @ 19945:15ae9558e41e

Fix audio stream switching with demux_mkv: return value of demuxer_switch_audio is new stream number for -aid, the index in a_streams array is in demuxer->audio->id instead.
author reimar
date Sat, 23 Sep 2006 11:07:58 +0000
parents ef30bef09385
children ef94dfe93fe8
comparison
equal deleted inserted replaced
19944:44193c0a688f 19945:15ae9558e41e
5097 mp_msg(MSGT_GLOBAL, MSGL_INFO, "ANS_TIME_POSITION=%.1f\n", pos); 5097 mp_msg(MSGT_GLOBAL, MSGL_INFO, "ANS_TIME_POSITION=%.1f\n", pos);
5098 } break; 5098 } break;
5099 case MP_CMD_SWITCH_AUDIO : { 5099 case MP_CMD_SWITCH_AUDIO : {
5100 int current_id = demuxer->audio->id; 5100 int current_id = demuxer->audio->id;
5101 int v = demuxer_switch_audio(demuxer, cmd->args[0].v.i); 5101 int v = demuxer_switch_audio(demuxer, cmd->args[0].v.i);
5102 if(v > -1 && v < MAX_A_STREAMS && v != current_id) { 5102 if(v > -1 && demuxer->audio->id != current_id) {
5103 sh_audio_t *sh2; 5103 sh_audio_t *sh2;
5104 uninit_player(INITED_AO | INITED_ACODEC); 5104 uninit_player(INITED_AO | INITED_ACODEC);
5105 sh2 = demuxer->a_streams[v]; 5105 sh2 = demuxer->a_streams[demuxer->audio->id];
5106 if(sh2) { 5106 if(sh2) {
5107 sh2->ds = demuxer->audio; 5107 sh2->ds = demuxer->audio;
5108 sh_audio = sh2; 5108 sh_audio = sh2;
5109 reinit_audio_chain(); 5109 reinit_audio_chain();
5110 } 5110 }