0
1
mirror of https://github.com/radio95-rnt/fm95.git synced 2026-02-26 19:23:51 +01:00

optimize a bit

This commit is contained in:
2025-05-31 11:37:32 +02:00
parent f7e0fcf84a
commit 7da1ab87ad
3 changed files with 14 additions and 23 deletions

View File

@@ -72,18 +72,18 @@ int init_PulseInputDevicef(PulseInputDevice* dev, int sample_rate, int channels,
return 0; return 0;
} }
int read_PulseInputDevice(PulseInputDevice* dev, float* buffer, size_t size) { int read_PulseInputDevice(PulseInputDevice* dev, void* buffer, size_t size) {
if (!dev->initialized) return -1; if (!dev->initialized) return -1;
int error; int error = 0;
if (pa_simple_read(dev->dev, buffer, size, &error) < 0) return error; pa_simple_read(dev->dev, buffer, size, &error);
return 0; return error;
} }
int read_PulseInputDevicef(PulseInputDevice* dev, void* buffer, size_t size) { int read_PulseInputDevicef(PulseInputDevice* dev, void* buffer, size_t size) {
if (!dev->initialized) return -1; if (!dev->initialized) return -1;
int error; int error = 0;
if (pa_simple_read(dev->dev, buffer, size, &error) < 0) return error; pa_simple_read(dev->dev, buffer, size, &error);
return 0; return error;
} }
void free_PulseInputDevice(PulseInputDevice* dev) { void free_PulseInputDevice(PulseInputDevice* dev) {
@@ -162,18 +162,11 @@ int init_PulseOutputDevicef(PulseOutputDevice* dev, int sample_rate, int channel
return 0; return 0;
} }
int write_PulseOutputDevice(PulseOutputDevice* dev, float* buffer, size_t size) { int write_PulseOutputDevice(PulseOutputDevice* dev, void* buffer, size_t size) {
if (!dev->initialized) return -1; if (!dev->initialized) return -1;
int error; int error = 0;
if (pa_simple_write(dev->dev, buffer, size, &error) < 0) return error; pa_simple_write(dev->dev, buffer, size, &error);
return 0; return error;
}
int write_PulseOutputDevicef(PulseOutputDevice* dev, void* buffer, size_t size) {
if (!dev->initialized) return -1;
int error;
if (pa_simple_write(dev->dev, buffer, size, &error) < 0) return error;
return 0;
} }
void free_PulseOutputDevice(PulseOutputDevice* dev) { void free_PulseOutputDevice(PulseOutputDevice* dev) {

View File

@@ -25,13 +25,11 @@ typedef struct
int init_PulseInputDevice(PulseInputDevice *dev, int sample_rate, int channels, char *app_name, char *stream_name, char *device, pa_buffer_attr *buffer_attr); int init_PulseInputDevice(PulseInputDevice *dev, int sample_rate, int channels, char *app_name, char *stream_name, char *device, pa_buffer_attr *buffer_attr);
int init_PulseInputDevicef(PulseInputDevice *dev, int sample_rate, int channels, char *app_name, char *stream_name, char *device, pa_buffer_attr *buffer_attr, pa_sample_format_t format); int init_PulseInputDevicef(PulseInputDevice *dev, int sample_rate, int channels, char *app_name, char *stream_name, char *device, pa_buffer_attr *buffer_attr, pa_sample_format_t format);
int read_PulseInputDevice(PulseInputDevice *dev, float *buffer, size_t size); int read_PulseInputDevice(PulseInputDevice *dev, void *buffer, size_t size);
int read_PulseInputDevicef(PulseInputDevice *dev, void *buffer, size_t size);
void free_PulseInputDevice(PulseInputDevice *dev); void free_PulseInputDevice(PulseInputDevice *dev);
typedef PulseInputDevice PulseOutputDevice; typedef PulseInputDevice PulseOutputDevice;
int init_PulseOutputDevice(PulseOutputDevice *dev, int sample_rate, int channels, char *app_name, char *stream_name, char *device, pa_buffer_attr *buffer_attr); int init_PulseOutputDevice(PulseOutputDevice *dev, int sample_rate, int channels, char *app_name, char *stream_name, char *device, pa_buffer_attr *buffer_attr);
int init_PulseOutputDevicef(PulseOutputDevice *dev, int sample_rate, int channels, char *app_name, char *stream_name, char *device, pa_buffer_attr *buffer_attr, pa_sample_format_t format); int init_PulseOutputDevicef(PulseOutputDevice *dev, int sample_rate, int channels, char *app_name, char *stream_name, char *device, pa_buffer_attr *buffer_attr, pa_sample_format_t format);
int write_PulseOutputDevice(PulseOutputDevice *dev, float *buffer, size_t size); int write_PulseOutputDevice(PulseOutputDevice *dev, void *buffer, size_t size);
int write_PulseOutputDevicef(PulseOutputDevice *dev, void *buffer, size_t size);
void free_PulseOutputDevice(PulseOutputDevice *dev); void free_PulseOutputDevice(PulseOutputDevice *dev);

View File

@@ -102,7 +102,7 @@ static PulseOutputDevice output = {0};
void process_audio_buffer(AudioBuffer* buffer, PulseOutputDevice* output_device) { void process_audio_buffer(AudioBuffer* buffer, PulseOutputDevice* output_device) {
while (buffer->count > 0) { while (buffer->count > 0) {
AudioPacket* pkt = &buffer->packets[buffer->tail]; AudioPacket* pkt = &buffer->packets[buffer->tail];
write_PulseOutputDevicef(output_device, pkt->data, pkt->size); write_PulseOutputDevice(output_device, pkt->data, pkt->size);
buffer->tail = (buffer->tail + 1) % buffer->capacity; buffer->tail = (buffer->tail + 1) % buffer->capacity;
buffer->count--; buffer->count--;