output/alsa: fix SIGFPE when alsa announces a period size of 0
This commit is contained in:
parent
736fd0e293
commit
d1eeed6a5b
2
NEWS
2
NEWS
|
@ -3,6 +3,8 @@ ver 0.16.4 (2011/??/??)
|
|||
* decoder:
|
||||
- ffmpeg: workaround for semantic API change in recent ffmpeg versions
|
||||
- flac: validate the sample rate when scanning the tag
|
||||
* output:
|
||||
- alsa: fix SIGFPE when alsa announces a period size of 0
|
||||
|
||||
|
||||
ver 0.16.3 (2011/06/04)
|
||||
|
|
|
@ -508,6 +508,14 @@ configure_hw:
|
|||
g_debug("buffer_size=%u period_size=%u",
|
||||
(unsigned)alsa_buffer_size, (unsigned)alsa_period_size);
|
||||
|
||||
if (alsa_period_size == 0)
|
||||
/* this works around a SIGFPE bug that occurred when
|
||||
an ALSA driver indicated period_size==0; this
|
||||
caused a division by zero in alsa_play(). By using
|
||||
the fallback "1", we make sure that this won't
|
||||
happen again. */
|
||||
alsa_period_size = 1;
|
||||
|
||||
ad->period_frames = alsa_period_size;
|
||||
ad->period_position = 0;
|
||||
|
||||
|
|
Loading…
Reference in New Issue