diff options
| -rw-r--r-- | include/xas/object.h | 13 | ||||
| -rw-r--r-- | src/object.c | 4 | 
2 files changed, 14 insertions, 3 deletions
| diff --git a/include/xas/object.h b/include/xas/object.h index 19a479a..9e291c1 100644 --- a/include/xas/object.h +++ b/include/xas/object.h @@ -1,6 +1,8 @@  #ifndef _XAS_OBJECT_H  #define _XAS_OBJECT_H +#include <xas/audio.h> +  typedef struct _xas_object xas_object;  typedef int (*xas_object_start_callback)(xas_object *object); @@ -9,10 +11,13 @@ typedef int (*xas_object_stop_callback)(xas_object *object);  typedef int (*xas_object_set_gain_callback)(xas_object *object, float gain); +typedef xas_audio_stream *(*xas_object_stream_new_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_start_callback      start; +    xas_object_stop_callback       stop; +    xas_object_set_gain_callback   set_gain; +    xas_object_stream_new_callback stream_new;  };  int xas_object_start(xas_object *object); @@ -21,4 +26,6 @@ int xas_object_stop(xas_object *object);  int xas_object_set_gain(xas_object *object, float gain); +xas_audio_stream *xas_object_stream_new(xas_object *object); +  #endif /* _XAS_OBJECT_H */ diff --git a/src/object.c b/src/object.c index f97deca..26bb1b3 100644 --- a/src/object.c +++ b/src/object.c @@ -11,3 +11,7 @@ int xas_object_stop(xas_object *object) {  int xas_object_set_gain(xas_object *object, float gain) {      return object->set_gain(object, gain);  } + +xas_audio_stream *xas_object_stream_new(xas_object *object) { +    return object->stream_new(object); +} | 
 
    