pa_mac_core_blocking.h

来自「mediastreamer2是开源的网络传输媒体流的库」· C头文件 代码 · 共 77 行

H
77
字号
#ifndef PA_MAC_CORE_BLOCKING_H_#define PA_MAC_CORE_BLOCKING_H_#include "ringbuffer.h"#include "portaudio.h"#include "pa_mac_core_utilities.h"/* * Number of miliseconds to busy wait whil waiting for data in blocking calls. */#define PA_MAC_BLIO_BUSY_WAIT_SLEEP_INTERVAL (5)/* * Define exactly one of these blocking methods * PA_MAC_BLIO_MUTEX is not actively maintained. */#define PA_MAC_BLIO_BUSY_WAIT/*#define PA_MAC_BLIO_MUTEX*/typedef struct {    RingBuffer inputRingBuffer;    RingBuffer outputRingBuffer;    PaSampleFormat inputSampleFormat;    size_t inputSampleSize;    PaSampleFormat outputSampleFormat;    size_t outputSampleSize;    size_t framesPerBuffer;    int inChan;    int outChan;    //PaStreamCallbackFlags statusFlags;    uint32_t statusFlags;    PaError errors;    /* Here we handle blocking, using condition variables. */#ifdef  PA_MAC_BLIO_MUTEX    volatile bool isInputEmpty;    pthread_mutex_t inputMutex;    pthread_cond_t inputCond;    volatile bool isOutputFull;    pthread_mutex_t outputMutex;    pthread_cond_t outputCond;#endif}PaMacBlio;/* * These functions operate on condition and related variables. */PaError initializeBlioRingBuffers(                                       PaMacBlio *blio,                                       PaSampleFormat inputSampleFormat,                                       PaSampleFormat outputSampleFormat,                                       size_t framesPerBuffer,                                       long ringBufferSize,                                       int inChan,                                       int outChan );PaError destroyBlioRingBuffers( PaMacBlio *blio );PaError resetBlioRingBuffers( PaMacBlio *blio );int BlioCallback(        const void *input, void *output,        unsigned long frameCount,        const PaStreamCallbackTimeInfo* timeInfo,        PaStreamCallbackFlags statusFlags,        void *userData );void waitUntilBlioWriteBufferIsFlushed( PaMacBlio *blio );#endif /*PA_MAC_CORE_BLOCKING_H_*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?