diff options
| -rw-r--r-- | include/xas/object.h | 5 | ||||
| -rw-r--r-- | src/object.c | 10 | 
2 files changed, 15 insertions, 0 deletions
| diff --git a/include/xas/object.h b/include/xas/object.h index 91287f5..6ca515e 100644 --- a/include/xas/object.h +++ b/include/xas/object.h @@ -15,6 +15,8 @@ typedef int (*xas_object_set_freq_callback)(xas_object *object, size_t freq);  typedef int (*xas_object_set_bank_callback)(xas_object *object, size_t bank); +typedef int (*xas_object_set_flags_callback)(xas_object *object, int flags); +  typedef xas_audio_stream *(*xas_object_stream_new_callback)(xas_object *object);  typedef void (*xas_object_destroy_callback)(xas_object *object); @@ -25,6 +27,7 @@ struct _xas_object {      xas_object_set_gain_callback   set_gain;      xas_object_set_bank_callback   set_bank;      xas_object_set_freq_callback   set_freq; +    xas_object_set_flags_callback  set_flags;      xas_object_stream_new_callback stream_new;      xas_object_destroy_callback    destroy;  }; @@ -41,6 +44,8 @@ int xas_object_set_bank(xas_object *object, size_t bank);  int xas_object_set_freq(xas_object *object, size_t freq); +int xas_object_set_flags(xas_object *object, int flags); +  xas_audio_stream *xas_object_stream_new(xas_object *object);  void xas_object_destroy(xas_object *object); diff --git a/src/object.c b/src/object.c index 4526bc5..70271c1 100644 --- a/src/object.c +++ b/src/object.c @@ -57,6 +57,16 @@ int xas_object_set_freq(xas_object *object, size_t freq) {      return object->set_freq(object, freq);  } +int xas_object_set_flags(xas_object *object, int flags) { +    if (object->set_flags == NULL) { +        errno = ENOSYS; + +        return -1; +    } + +    return object->set_flags(object, flags); +} +  xas_audio_stream *xas_object_stream_new(xas_object *object) {      if (object->stream_new == NULL) {          errno = ENOSYS; | 
 
    