Mercurial > mplayer.hg
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 } |