[FFmpeg-devel] [PATCH] ffplay: force setting alsa buffer size
Marton Balint
cus at passwd.hu
Sat Apr 30 22:17:33 CEST 2016
Signed-off-by: Marton Balint <cus at passwd.hu>
---
ffplay.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/ffplay.c b/ffplay.c
index 804bcbc..d5fcde8 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -3781,6 +3781,7 @@ int main(int argc, char **argv)
int flags;
VideoState *is;
char dummy_videodriver[] = "SDL_VIDEODRIVER=dummy";
+ char alsa_bufsize[] = "SDL_AUDIO_ALSA_SET_BUFFER_SIZE=1";
av_log_set_flags(AV_LOG_SKIP_REPEATED);
parse_loglevel(argc, argv, options);
@@ -3818,6 +3819,12 @@ int main(int argc, char **argv)
flags = SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER;
if (audio_disable)
flags &= ~SDL_INIT_AUDIO;
+ else {
+ /* Try to work around an occasional ALSA buffer underflow issue when the
+ * period size is NPOT due to ALSA resampling by forcing the buffer size. */
+ if (!SDL_getenv("SDL_AUDIO_ALSA_SET_BUFFER_SIZE"))
+ SDL_putenv(alsa_bufsize);
+ }
if (display_disable)
SDL_putenv(dummy_videodriver); /* For the event queue, we always need a video driver. */
#if !defined(_WIN32) && !defined(__APPLE__)
--
2.6.6
More information about the ffmpeg-devel
mailing list