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:
Audio filter:
* Fixed DTS to S/PDIF converter
Audio output:
* Fixed 5.1 audio on ALSA
Encoders:
* Improved compatibility for creating H.264 video playable on iPhones
......
......@@ -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 Kretschmer <mathias at research.att.com> - IP Multicast support
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
Max Rudberg <max_08 at mac.com> - Mac OS X controller art (v0.7.0)
Michael Mondragon <mammon at lokmail.net> - ncurses compilation fix
......
......@@ -571,34 +571,34 @@ static int Open( vlc_object_t *p_this )
p_aout->output.output.i_rate );
}
/* Set buffer size. */
/* Set period 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 )
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_buffer_size_near( p_sys->p_snd_pcm,
p_hw, i_buffer_size ) ) < 0 )
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 buffer size (%s)",
msg_Err( p_aout, "unable to set period size (%s)",
snd_strerror( i_snd_rc ) );
goto error;
}
p_aout->output.i_nb_samples = i_period_size;
/* Set period size. */
/* Set buffer 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 )
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_period_size_near( p_sys->p_snd_pcm,
p_hw, i_period_size, NULL ) ) < 0 )
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 period size (%s)",
msg_Err( p_aout, "unable to set buffer size (%s)",
snd_strerror( i_snd_rc ) );
goto error;
}
p_aout->output.i_nb_samples = i_period_size;
/* Commit hardware parameters. */
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