alsa: fallback to buffer_size/4 for period_size.
authorJustin Ruggles <justin.ruggles@gmail.com>
Wed, 22 Jun 2011 19:33:56 +0000 (15:33 -0400)
committerReinhard Tartler <siretart@tauware.de>
Sat, 5 Nov 2011 12:18:32 +0000 (13:18 +0100)
buffer_size/4 is the value used by aplay. This fixes output to null
devices, e.g. writing ALSA output to a file.
(cherry picked from commit 8bfd7f6a475225a0595bf657f8b99a8fffb461e4)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
libavdevice/alsa-audio-common.c

index 38cb0de..12195de 100644 (file)
@@ -129,6 +129,8 @@ av_cold int ff_alsa_open(AVFormatContext *ctx, snd_pcm_stream_t mode,
     }
 
     snd_pcm_hw_params_get_period_size_min(hw_params, &period_size, NULL);
+    if (!period_size)
+        period_size = buffer_size / 4;
     res = snd_pcm_hw_params_set_period_size_near(h, hw_params, &period_size, NULL);
     if (res < 0) {
         av_log(ctx, AV_LOG_ERROR, "cannot set ALSA period size (%s)\n",