Try different pulseaudio options

This commit is contained in:
dec05eba
2024-04-14 01:55:38 +02:00
parent b554628099
commit 50ff9fb615

View File

@@ -80,7 +80,7 @@ static pa_handle* pa_sound_device_new(const char *server,
p->read_length = 0;
p->read_index = 0;
const int buffer_size = attr->maxlength;
const int buffer_size = attr->fragsize;
void *buffer = malloc(buffer_size);
if(!buffer) {
fprintf(stderr, "failed to allocate buffer for audio\n");
@@ -123,7 +123,7 @@ static pa_handle* pa_sound_device_new(const char *server,
}
r = pa_stream_connect_record(p->stream, dev, attr,
(pa_stream_flags_t)(PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE));
(pa_stream_flags_t)(PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_EARLY_REQUESTS|PA_STREAM_START_UNMUTED|PA_STREAM_AUTO_TIMING_UPDATE|PA_STREAM_DONT_MOVE));
if (r < 0) {
error = pa_context_errno(p->context);
@@ -255,8 +255,8 @@ int sound_device_get_by_name(SoundDevice *device, const char *device_name, const
buffer_attr.tlength = -1;
buffer_attr.prebuf = -1;
buffer_attr.minreq = -1;
buffer_attr.maxlength = period_frame_size * audio_format_to_get_bytes_per_sample(audio_format) * num_channels; // 2/4 bytes/sample, @num_channels channels
buffer_attr.fragsize = buffer_attr.maxlength;
buffer_attr.maxlength = -1;
buffer_attr.fragsize = period_frame_size * audio_format_to_get_bytes_per_sample(audio_format) * num_channels; // 2/4 bytes/sample, @num_channels channels
int error = 0;
pa_handle *handle = pa_sound_device_new(nullptr, description, device_name, description, &ss, &buffer_attr, &error);