dnl
dnl ALSA module
dnl
-AC_ARG_ENABLE(alsa,
- [ --enable-alsa ALSA sound support for Linux (default enabled)])
-if test "${enable_alsa}" != "no"
-then
- AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false")
- if test "${have_alsa}" = "true"
- then
- CFLAGS="${CFLAGS_save}"
- AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
- #define ALSA_PCM_NEW_SW_PARAMS_API
- #include <alsa/asoundlib.h>],
- [snd_pcm_hw_params_get_period_time(0,0,0);],
- AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
- VLC_ADD_PLUGIN([alsa])
- VLC_ADD_LIBS([alsa],[-lasound -lm -ldl])
- VLC_ADD_PLUGIN([access_alsa])
- VLC_ADD_LIBS([access_alsa],[-lasound -lm -ldl])
- else
- if test "${enable_alsa}" = "yes"; then
- AC_MSG_ERROR([Could not find ALSA development headers])
- fi
- fi
-fi
+PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
dnl
dnl win32 waveOut plugin
/* Set rate. */
i_old_rate = p_aout->output.output.i_rate;
-#ifdef HAVE_ALSA_NEW_API
i_snd_rc = snd_pcm_hw_params_set_rate_near( p_sys->p_snd_pcm, p_hw,
&p_aout->output.output.i_rate,
NULL );
-#else
- i_snd_rc = snd_pcm_hw_params_set_rate_near( p_sys->p_snd_pcm, p_hw,
- p_aout->output.output.i_rate,
- NULL );
-#endif
if( i_snd_rc < 0 || p_aout->output.output.i_rate != i_old_rate )
{
msg_Warn( p_aout, "The rate %d Hz is not supported by your " \
}
/* Set period size. */
-#ifdef HAVE_ALSA_NEW_API
if ( ( i_snd_rc = snd_pcm_hw_params_set_period_size_near( p_sys->p_snd_pcm,
p_hw, &i_period_size, NULL ) ) < 0 )
-#else
- if ( ( i_snd_rc = snd_pcm_hw_params_set_period_size_near( p_sys->p_snd_pcm,
- p_hw, i_period_size, NULL ) ) < 0 )
-#endif
{
msg_Err( p_aout, "unable to set period size (%s)",
snd_strerror( i_snd_rc ) );
p_aout->output.i_nb_samples = i_period_size;
/* Set buffer size. */
-#ifdef HAVE_ALSA_NEW_API
if ( ( i_snd_rc = snd_pcm_hw_params_set_buffer_size_near( p_sys->p_snd_pcm,
p_hw, &i_buffer_size ) ) < 0 )
-#else
- if ( ( i_snd_rc = snd_pcm_hw_params_set_buffer_size_near( p_sys->p_snd_pcm,
- p_hw, i_buffer_size ) ) < 0 )
-#endif
{
msg_Err( p_aout, "unable to set buffer size (%s)",
snd_strerror( i_snd_rc ) );
}
}
-#ifdef HAVE_ALSA_NEW_API
if( ( i_snd_rc = snd_pcm_hw_params_get_period_time( p_hw,
&p_sys->i_period_time, NULL ) ) < 0 )
-#else
- if( ( p_sys->i_period_time =
- (int)snd_pcm_hw_params_get_period_time( p_hw, NULL ) ) < 0 )
-#endif
{
msg_Err( p_aout, "unable to get period time (%s)",
snd_strerror( i_snd_rc ) );
vlc_mutex_unlock( &p_sys->lock );
if( !vlc_object_alive (p_aout) )
- goto cleanup;
+ goto cleanup;
mwait( p_sys->start_date - AOUT_PTS_TOLERANCE / 4 );