Mercurial > mplayer.hg
comparison mplayer.c @ 18897:78547a882a09
support for audio streams that appear after unsuccessful probing
author | nicodvb |
---|---|
date | Tue, 04 Jul 2006 20:40:18 +0000 |
parents | ab29b3c4f94e |
children | 89af7441989b |
comparison
equal
deleted
inserted
replaced
18896:4f6312855a7d | 18897:78547a882a09 |
---|---|
2343 if(sh_audio){ | 2343 if(sh_audio){ |
2344 current_module="init_audio_codec"; | 2344 current_module="init_audio_codec"; |
2345 mp_msg(MSGT_CPLAYER,MSGL_INFO,"==========================================================================\n"); | 2345 mp_msg(MSGT_CPLAYER,MSGL_INFO,"==========================================================================\n"); |
2346 if(!init_best_audio_codec(sh_audio,audio_codec_list,audio_fm_list)){ | 2346 if(!init_best_audio_codec(sh_audio,audio_codec_list,audio_fm_list)){ |
2347 sh_audio=d_audio->sh=NULL; // failed to init :( | 2347 sh_audio=d_audio->sh=NULL; // failed to init :( |
2348 d_audio->id = -2; | |
2348 return; | 2349 return; |
2349 } else | 2350 } else |
2350 inited_flags|=INITED_ACODEC; | 2351 inited_flags|=INITED_ACODEC; |
2351 mp_msg(MSGT_CPLAYER,MSGL_INFO,"==========================================================================\n"); | 2352 mp_msg(MSGT_CPLAYER,MSGL_INFO,"==========================================================================\n"); |
2352 | 2353 |
2376 ao_data.format,0))){ | 2377 ao_data.format,0))){ |
2377 // FAILED: | 2378 // FAILED: |
2378 mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CannotInitAO); | 2379 mp_msg(MSGT_CPLAYER,MSGL_ERR,MSGTR_CannotInitAO); |
2379 uninit_player(INITED_ACODEC); // close codec | 2380 uninit_player(INITED_ACODEC); // close codec |
2380 sh_audio=d_audio->sh=NULL; // -> nosound | 2381 sh_audio=d_audio->sh=NULL; // -> nosound |
2382 d_audio->id = -2; | |
2381 return; | 2383 return; |
2382 } else { | 2384 } else { |
2383 // SUCCESS: | 2385 // SUCCESS: |
2384 inited_flags|=INITED_AO; | 2386 inited_flags|=INITED_AO; |
2385 mp_msg(MSGT_CPLAYER,MSGL_INFO,"AO: [%s] %dHz %dch %s (%d bytes per sample)\n", | 2387 mp_msg(MSGT_CPLAYER,MSGL_INFO,"AO: [%s] %dHz %dch %s (%d bytes per sample)\n", |
3609 | 3611 |
3610 if(!sh_audio){ | 3612 if(!sh_audio){ |
3611 mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_NoSound); | 3613 mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_NoSound); |
3612 mp_msg(MSGT_CPLAYER,MSGL_V,"Freeing %d unused audio chunks.\n",d_audio->packs); | 3614 mp_msg(MSGT_CPLAYER,MSGL_V,"Freeing %d unused audio chunks.\n",d_audio->packs); |
3613 ds_free_packs(d_audio); // free buffered chunks | 3615 ds_free_packs(d_audio); // free buffered chunks |
3614 d_audio->id=-2; // do not read audio chunks | 3616 //d_audio->id=-2; // do not read audio chunks |
3615 //uninit_player(INITED_AO); // close device | 3617 //uninit_player(INITED_AO); // close device |
3616 } | 3618 } |
3617 if(!sh_video){ | 3619 if(!sh_video){ |
3618 mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_Video_NoVideo); | 3620 mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_Video_NoVideo); |
3619 mp_msg(MSGT_CPLAYER,MSGL_V,"Freeing %d unused video chunks.\n",d_video->packs); | 3621 mp_msg(MSGT_CPLAYER,MSGL_V,"Freeing %d unused video chunks.\n",d_video->packs); |
3648 eof=PT_NEXT_ENTRY; goto goto_next_file; | 3650 eof=PT_NEXT_ENTRY; goto goto_next_file; |
3649 } | 3651 } |
3650 | 3652 |
3651 while(!eof){ | 3653 while(!eof){ |
3652 float aq_sleep_time=0; | 3654 float aq_sleep_time=0; |
3655 if(!sh_audio && d_audio->sh) { | |
3656 sh_audio = d_audio->sh; | |
3657 sh_audio->ds = d_audio; | |
3658 reinit_audio_chain(); | |
3659 } | |
3653 | 3660 |
3654 /*========================== PLAY AUDIO ============================*/ | 3661 /*========================== PLAY AUDIO ============================*/ |
3655 | 3662 |
3656 while(sh_audio){ | 3663 while(sh_audio){ |
3657 unsigned int t; | 3664 unsigned int t; |