summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXANTRONIX Development2022-03-01 01:33:12 -0500
committerXANTRONIX Development2022-03-01 01:33:12 -0500
commit6667ece6e0cec1a515f076f310295a5e691c24c3 (patch)
tree7e7a30f3e67dd2e960731e3b5bd40571d98e15f0
parent52974d57331ee2ed36eafc0cd9d310ba5191f546 (diff)
downloadxas-6667ece6e0cec1a515f076f310295a5e691c24c3.tar.gz
xas-6667ece6e0cec1a515f076f310295a5e691c24c3.tar.bz2
xas-6667ece6e0cec1a515f076f310295a5e691c24c3.zip
Implement xas_object_destroy()
-rw-r--r--include/xas/object.h5
-rw-r--r--src/object.c4
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);
+}