diff options
-rw-r--r-- | include/xas/object.h | 5 | ||||
-rw-r--r-- | src/object.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/xas/object.h b/include/xas/object.h index 9e291c1..a164277 100644 --- a/include/xas/object.h +++ b/include/xas/object.h @@ -13,11 +13,14 @@ typedef int (*xas_object_set_gain_callback)(xas_object *object, float gain); typedef xas_audio_stream *(*xas_object_stream_new_callback)(xas_object *object); +typedef void (*xas_object_destroy_callback)(xas_object *object); + struct _xas_object { xas_object_start_callback start; xas_object_stop_callback stop; xas_object_set_gain_callback set_gain; xas_object_stream_new_callback stream_new; + xas_object_destroy_callback destroy; }; int xas_object_start(xas_object *object); @@ -28,4 +31,6 @@ int xas_object_set_gain(xas_object *object, float gain); xas_audio_stream *xas_object_stream_new(xas_object *object); +void xas_object_destroy(xas_object *object); + #endif /* _XAS_OBJECT_H */ diff --git a/src/object.c b/src/object.c index 26bb1b3..7aaaa6e 100644 --- a/src/object.c +++ b/src/object.c @@ -15,3 +15,7 @@ int xas_object_set_gain(xas_object *object, float gain) { xas_audio_stream *xas_object_stream_new(xas_object *object) { return object->stream_new(object); } + +void xas_object_destroy(xas_object *object) { + object->destroy(object); +} |