summaryrefslogtreecommitdiff
path: root/libavdevice
diff options
context:
space:
mode:
Diffstat (limited to 'libavdevice')
-rw-r--r--libavdevice/pulse_audio_dec.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libavdevice/pulse_audio_dec.c b/libavdevice/pulse_audio_dec.c
index ed094fd250..2355b91776 100644
--- a/libavdevice/pulse_audio_dec.c
+++ b/libavdevice/pulse_audio_dec.c
@@ -162,7 +162,12 @@ static av_cold int pulse_read_header(AVFormatContext *s)
return AVERROR(ENOMEM);
}
- attr.fragsize = pd->fragment_size;
+ if (pd->fragment_size == -1) {
+ // 50 ms fragments/latency by default seem good enough
+ attr.fragsize = pa_frame_size(&ss) * (pd->sample_rate / 20);
+ } else {
+ attr.fragsize = pd->fragment_size;
+ }
if (s->url[0] != '\0' && strcmp(s->url, "default"))
device = s->url;