mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-23 07:42:51 +00:00
alsa: limit buffer_size to 32768 frames.
In testing, the file output plugin gave a max buffer size of about 20 million frames, which is way more than what is really needed and causes a memory allocation error on my system.
This commit is contained in:
parent
8bfd7f6a47
commit
e35c674d13
@ -260,6 +260,7 @@ av_cold int ff_alsa_open(AVFormatContext *ctx, snd_pcm_stream_t mode,
|
||||
}
|
||||
|
||||
snd_pcm_hw_params_get_buffer_size_max(hw_params, &buffer_size);
|
||||
buffer_size = FFMIN(buffer_size, ALSA_BUFFER_SIZE_MAX);
|
||||
/* TODO: maybe use ctx->max_picture_buffer somehow */
|
||||
res = snd_pcm_hw_params_set_buffer_size_near(h, hw_params, &buffer_size);
|
||||
if (res < 0) {
|
||||
|
@ -40,6 +40,8 @@
|
||||
other formats */
|
||||
#define DEFAULT_CODEC_ID AV_NE(CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16LE)
|
||||
|
||||
#define ALSA_BUFFER_SIZE_MAX 32768
|
||||
|
||||
typedef struct {
|
||||
AVClass *class;
|
||||
snd_pcm_t *h;
|
||||
|
Loading…
Reference in New Issue
Block a user