Commit 31b94221 authored by Dennis van Amerongen's avatar Dennis van Amerongen

* modules/audio_output/alsa.c: backport [24390] fix for 5.1 audio on ALSA (broken pipe)

parent 798b3fbd
...@@ -16,6 +16,9 @@ Security updates: ...@@ -16,6 +16,9 @@ Security updates:
Audio filter: Audio filter:
* Fixed DTS to S/PDIF converter * Fixed DTS to S/PDIF converter
Audio output:
* Fixed 5.1 audio on ALSA
Encoders: Encoders:
* Improved compatibility for creating H.264 video playable on iPhones * Improved compatibility for creating H.264 video playable on iPhones
......
...@@ -114,6 +114,7 @@ Matej Urbančič <matej.urban at gmail.com> - Slovenian translation ...@@ -114,6 +114,7 @@ Matej Urbančič <matej.urban at gmail.com> - Slovenian translation
Mathias C. Berens | welcome-soft <berens at welcome-soft.de> - German translation Mathias C. Berens | welcome-soft <berens at welcome-soft.de> - German translation
Mathias Kretschmer <mathias at research.att.com> - IP Multicast support Mathias Kretschmer <mathias at research.att.com> - IP Multicast support
Mats Rojestal <mats.rojestal at bredband dot net> - compilation fixes for Solaris 9 Mats Rojestal <mats.rojestal at bredband dot net> - compilation fixes for Solaris 9
Matthias P. Nowak <mpnowak at broadpark dot no> - ALSA 5.1 fix
Matthieu Lochegnies <lochegm1 at cti.ecp.fr> - MPEG audio emphasis fix Matthieu Lochegnies <lochegm1 at cti.ecp.fr> - MPEG audio emphasis fix
Max Rudberg <max_08 at mac.com> - Mac OS X controller art (v0.7.0) Max Rudberg <max_08 at mac.com> - Mac OS X controller art (v0.7.0)
Michael Mondragon <mammon at lokmail.net> - ncurses compilation fix Michael Mondragon <mammon at lokmail.net> - ncurses compilation fix
......
...@@ -571,34 +571,34 @@ static int Open( vlc_object_t *p_this ) ...@@ -571,34 +571,34 @@ static int Open( vlc_object_t *p_this )
p_aout->output.output.i_rate ); p_aout->output.output.i_rate );
} }
/* Set buffer size. */ /* Set period size. */
#ifdef HAVE_ALSA_NEW_API #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_period_size_near( p_sys->p_snd_pcm,
p_hw, &i_buffer_size ) ) < 0 ) p_hw, &i_period_size, NULL ) ) < 0 )
#else #else
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_period_size_near( p_sys->p_snd_pcm,
p_hw, i_buffer_size ) ) < 0 ) p_hw, i_period_size, NULL ) ) < 0 )
#endif #endif
{ {
msg_Err( p_aout, "unable to set buffer size (%s)", msg_Err( p_aout, "unable to set period size (%s)",
snd_strerror( i_snd_rc ) ); snd_strerror( i_snd_rc ) );
goto error; goto error;
} }
p_aout->output.i_nb_samples = i_period_size;
/* Set period size. */ /* Set buffer size. */
#ifdef HAVE_ALSA_NEW_API #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_buffer_size_near( p_sys->p_snd_pcm,
p_hw, &i_period_size, NULL ) ) < 0 ) p_hw, &i_buffer_size ) ) < 0 )
#else #else
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_buffer_size_near( p_sys->p_snd_pcm,
p_hw, i_period_size, NULL ) ) < 0 ) p_hw, i_buffer_size ) ) < 0 )
#endif #endif
{ {
msg_Err( p_aout, "unable to set period size (%s)", msg_Err( p_aout, "unable to set buffer size (%s)",
snd_strerror( i_snd_rc ) ); snd_strerror( i_snd_rc ) );
goto error; goto error;
} }
p_aout->output.i_nb_samples = i_period_size;
/* Commit hardware parameters. */ /* Commit hardware parameters. */
if ( ( i_snd_rc = snd_pcm_hw_params( p_sys->p_snd_pcm, p_hw ) ) < 0 ) if ( ( i_snd_rc = snd_pcm_hw_params( p_sys->p_snd_pcm, p_hw ) ) < 0 )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment