/* * Create an CSDLAudioSync for a session. Don't alloc any buffers until * config is called by codec */ CSDLAudioSync::CSDLAudioSync (CPlayerSession *psptr, int volume) : CAudioSync(psptr) { //SDL_Init(SDL_INIT_AUDIO | SDL_INIT_NOPARACHUTE); Our_SDL_AudioInit(getenv("SDL_AUDIODRIVER")); m_fill_index = m_play_index = 0; for (int ix = 0; ix < DECODE_BUFFERS_MAX; ix++) { m_buffer_filled[ix] = 0; m_sample_buffer[ix] = NULL; } m_buffer_size = 0; m_config_set = 0; m_audio_initialized = 0; m_audio_paused = 1; m_resync_required = 0; m_dont_fill = 0; m_consec_no_buffers = 0; //SDL_Init(SDL_INIT_AUDIO); m_audio_waiting_buffer = 0; m_audio_waiting = SDL_CreateSemaphore(0); //NULL; // will be set by decode thread m_skipped_buffers = 0; m_didnt_fill_buffers = 0; m_play_time = 0 ; m_buffer_latency = 0; m_volume = (volume * SDL_MIX_MAXVOLUME)/100; m_first_time = 1; m_first_filled = 1; m_buffer_offset_on = 0; m_buffer_ts = 0; m_load_audio_do_next_resync = 0; }
int do_we_have_audio (void) { char buffer[80]; if (Our_SDL_AudioInit(getenv("SDL_AUDIODRIVER")) < 0) { return (0); } if (Our_SDL_AudioDriverName(buffer, sizeof(buffer)) == NULL) { return (0); } // Our_SDL_CloseAudio(); return (1); }
/* * Create an CSDLAudioSync for a session. Don't alloc any buffers until * config is called by codec */ CSDLAudioSync::CSDLAudioSync (CPlayerSession *psptr, int volume) : CBufferAudioSync(psptr, volume) { Our_SDL_AudioInit(getenv("SDL_AUDIODRIVER")); m_volume = (volume * SDL_MIX_MAXVOLUME)/100; }