Index: mplayer.c =================================================================== --- mplayer.c (revision 19947) +++ mplayer.c (working copy) @@ -5099,6 +5101,7 @@ case MP_CMD_SWITCH_AUDIO : { int current_id = demuxer->audio->id; int v = demuxer_switch_audio(demuxer, cmd->args[0].v.i); + v = demuxer->audio->id; if(v > -1 && v < MAX_A_STREAMS && v != current_id) { sh_audio_t *sh2; uninit_player(INITED_AO | INITED_ACODEC); @@ -5109,6 +5112,10 @@ reinit_audio_chain(); } } + if (v > -1 && v < MAX_A_STREAMS && demuxer->a_streams[v]) + v = ((sh_audio_t *)demuxer->a_streams[v])->aid; + else + v = -2; mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AUDIO_TRACK=%d\n", v); } break; case MP_CMD_RUN : {