Add audio capture methods to ALCbackend

This commit is contained in:
Chris Robinson
2013-10-28 13:51:55 -07:00
parent 8d9fb5109b
commit f8c95f1e90
3 changed files with 29 additions and 0 deletions
+10
View File
@@ -82,6 +82,16 @@ static void BackendWrapper_stop(BackendWrapper *self)
device->Funcs->StopPlayback(device);
}
ALCenum BackendWrapper_captureSamples(BackendWrapper* UNUSED(self), void* UNUSED(buffer), ALCuint UNUSED(samples))
{
return ALC_INVALID_VALUE;
}
ALCuint BackendWrapper_availableSamples(BackendWrapper* UNUSED(self))
{
return 0;
}
static ALint64 BackendWrapper_getLatency(BackendWrapper *self)
{
ALCdevice *device = STATIC_CAST(ALCbackend, self)->mDevice;
+9
View File
@@ -31,6 +31,9 @@ struct ALCbackendVtable {
ALCboolean (*start)(ALCbackend*);
void (*stop)(ALCbackend*);
ALCenum (*captureSamples)(ALCbackend*, void*, ALCuint);
ALCuint (*availableSamples)(ALCbackend*);
ALint64 (*getLatency)(ALCbackend*);
void (*lock)(ALCbackend*);
@@ -52,6 +55,10 @@ static ALCboolean T##_ALCbackend_start(ALCbackend *obj) \
{ return T##_start(STATIC_UPCAST(T, ALCbackend, obj)); } \
static void T##_ALCbackend_stop(ALCbackend *obj) \
{ T##_stop(STATIC_UPCAST(T, ALCbackend, obj)); } \
static ALCenum T##_ALCbackend_captureSamples(ALCbackend *obj, void *a, ALCuint b) \
{ return T##_captureSamples(STATIC_UPCAST(T, ALCbackend, obj), a, b); } \
static ALCuint T##_ALCbackend_availableSamples(ALCbackend *obj) \
{ return T##_availableSamples(STATIC_UPCAST(T, ALCbackend, obj)); } \
static ALint64 T##_ALCbackend_getLatency(ALCbackend *obj) \
{ return T##_getLatency(STATIC_UPCAST(T, ALCbackend, obj)); } \
static void T##_ALCbackend_lock(ALCbackend *obj) \
@@ -69,6 +76,8 @@ static const struct ALCbackendVtable T##_ALCbackend_vtable = { \
T##_ALCbackend_reset, \
T##_ALCbackend_start, \
T##_ALCbackend_stop, \
T##_ALCbackend_captureSamples, \
T##_ALCbackend_availableSamples, \
T##_ALCbackend_getLatency, \
T##_ALCbackend_lock, \
T##_ALCbackend_unlock, \
+10
View File
@@ -140,6 +140,16 @@ static void ALCnullBackend_stop(ALCnullBackend *self)
self->killNow = 0;
}
ALCenum ALCnullBackend_captureSamples(ALCnullBackend* UNUSED(self), void* UNUSED(buffer), ALCuint UNUSED(samples))
{
return ALC_INVALID_VALUE;
}
ALCuint ALCnullBackend_availableSamples(ALCnullBackend* UNUSED(self))
{
return 0;
}
static ALint64 ALCnullBackend_getLatency(ALCnullBackend *self)
{
return ALCbackend_getLatency(STATIC_CAST(ALCbackend, self));