mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 20:42:44 +02:00
47 lines
1.3 KiB
C
47 lines
1.3 KiB
C
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct {
|
|
u64 released_ns;
|
|
u64 next_buffer_ptr;
|
|
u64 sample_buffer_ptr;
|
|
u64 sample_buffer_capacity;
|
|
u64 data_size;
|
|
u64 data_offset;
|
|
} FinalOutputRecorderBuffer;
|
|
|
|
typedef struct {
|
|
u32 sample_rate;
|
|
u32 channel_count;
|
|
} FinalOutputRecorderParameter;
|
|
|
|
typedef struct {
|
|
u32 sample_rate;
|
|
u32 channel_count;
|
|
u32 sample_format;
|
|
u32 state;
|
|
} FinalOutputRecorderParameterInternal;
|
|
|
|
typedef struct {
|
|
Service s;
|
|
} AudrecRecorder;
|
|
|
|
Result audrecInitialize(void);
|
|
void audrecExit(void);
|
|
Service* audrecGetServiceSession(void);
|
|
|
|
Result audrecOpenFinalOutputRecorder(AudrecRecorder* recorder_out, FinalOutputRecorderParameter* param_in, u64 aruid, FinalOutputRecorderParameterInternal* param_out);
|
|
|
|
Result audrecRecorderStart(AudrecRecorder* recorder);
|
|
Result audrecRecorderStop(AudrecRecorder* recorder);
|
|
Result audrecRecorderRegisterBufferEvent(AudrecRecorder* recorder, Event* out_event);
|
|
Result audrecRecorderAppendFinalOutputRecorderBuffer(AudrecRecorder* recorder, u64 buffer_client_ptr, FinalOutputRecorderBuffer* param);
|
|
Result audrecRecorderGetReleasedFinalOutputRecorderBuffers(AudrecRecorder* recorder, u64* out_buffers, u64* inout_count, u64* out_released);
|
|
void audrecRecorderClose(AudrecRecorder* recorder);
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif |