Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
015989f3
Commit
015989f3
authored
Aug 07, 2009
by
Jean-Baptiste Kempf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Simplify Alsa detection and drop support for alsa < 1.0.0 (out in 2003)
parent
0a27d519
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
2 additions
and
45 deletions
+2
-45
configure.ac
configure.ac
+1
-23
modules/audio_output/alsa.c
modules/audio_output/alsa.c
+1
-22
No files found.
configure.ac
View file @
015989f3
...
@@ -4173,29 +4173,7 @@ PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library supp
...
@@ -4173,29 +4173,7 @@ PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library supp
dnl
dnl
dnl ALSA module
dnl ALSA module
dnl
dnl
AC_ARG_ENABLE(alsa,
PKG_ENABLE_MODULES_VLC([ALSA], [], [alsa >= 1.0.0], [Alsa sound support for linux], [auto])
[ --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
dnl
dnl
dnl win32 waveOut plugin
dnl win32 waveOut plugin
...
...
modules/audio_output/alsa.c
View file @
015989f3
...
@@ -571,15 +571,9 @@ static int Open( vlc_object_t *p_this )
...
@@ -571,15 +571,9 @@ static int Open( vlc_object_t *p_this )
/* Set rate. */
/* Set rate. */
i_old_rate
=
p_aout
->
output
.
output
.
i_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
,
i_snd_rc
=
snd_pcm_hw_params_set_rate_near
(
p_sys
->
p_snd_pcm
,
p_hw
,
&
p_aout
->
output
.
output
.
i_rate
,
&
p_aout
->
output
.
output
.
i_rate
,
NULL
);
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
)
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 "
\
msg_Warn
(
p_aout
,
"The rate %d Hz is not supported by your "
\
...
@@ -588,13 +582,8 @@ static int Open( vlc_object_t *p_this )
...
@@ -588,13 +582,8 @@ static int Open( vlc_object_t *p_this )
}
}
/* Set period size. */
/* 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
,
if
(
(
i_snd_rc
=
snd_pcm_hw_params_set_period_size_near
(
p_sys
->
p_snd_pcm
,
p_hw
,
&
i_period_size
,
NULL
)
)
<
0
)
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)"
,
msg_Err
(
p_aout
,
"unable to set period size (%s)"
,
snd_strerror
(
i_snd_rc
)
);
snd_strerror
(
i_snd_rc
)
);
...
@@ -603,13 +592,8 @@ static int Open( vlc_object_t *p_this )
...
@@ -603,13 +592,8 @@ static int Open( vlc_object_t *p_this )
p_aout
->
output
.
i_nb_samples
=
i_period_size
;
p_aout
->
output
.
i_nb_samples
=
i_period_size
;
/* Set buffer 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
,
if
(
(
i_snd_rc
=
snd_pcm_hw_params_set_buffer_size_near
(
p_sys
->
p_snd_pcm
,
p_hw
,
&
i_buffer_size
)
)
<
0
)
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)"
,
msg_Err
(
p_aout
,
"unable to set buffer size (%s)"
,
snd_strerror
(
i_snd_rc
)
);
snd_strerror
(
i_snd_rc
)
);
...
@@ -637,13 +621,8 @@ static int Open( vlc_object_t *p_this )
...
@@ -637,13 +621,8 @@ static int Open( vlc_object_t *p_this )
}
}
}
}
#ifdef HAVE_ALSA_NEW_API
if
(
(
i_snd_rc
=
snd_pcm_hw_params_get_period_time
(
p_hw
,
if
(
(
i_snd_rc
=
snd_pcm_hw_params_get_period_time
(
p_hw
,
&
p_sys
->
i_period_time
,
NULL
)
)
<
0
)
&
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)"
,
msg_Err
(
p_aout
,
"unable to get period time (%s)"
,
snd_strerror
(
i_snd_rc
)
);
snd_strerror
(
i_snd_rc
)
);
...
@@ -774,7 +753,7 @@ static void* ALSAThread( vlc_object_t* p_this )
...
@@ -774,7 +753,7 @@ static void* ALSAThread( vlc_object_t* p_this )
vlc_mutex_unlock
(
&
p_sys
->
lock
);
vlc_mutex_unlock
(
&
p_sys
->
lock
);
if
(
!
vlc_object_alive
(
p_aout
)
)
if
(
!
vlc_object_alive
(
p_aout
)
)
goto
cleanup
;
goto
cleanup
;
mwait
(
p_sys
->
start_date
-
AOUT_PTS_TOLERANCE
/
4
);
mwait
(
p_sys
->
start_date
-
AOUT_PTS_TOLERANCE
/
4
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment