#include #include #include void xas_object_init(xas_object *object) { memset(object, '\0', sizeof(xas_object)); } int xas_object_start(xas_object *object, size_t index) { if (object->start == NULL) { errno = ENOSYS; return -1; } return object->start(object, index); } int xas_object_stop(xas_object *object, size_t index) { if (object->stop == NULL) { errno = ENOSYS; return -1; } return object->stop(object, index); } int xas_object_set_gain(xas_object *object, float gain) { if (object->set_gain == NULL) { errno = ENOSYS; return -1; } return object->set_gain(object, gain); } int xas_object_set_entry(xas_object *object, size_t entry) { if (object->set_entry == NULL) { errno = ENOSYS; return -1; } return object->set_entry(object, entry); } int xas_object_set_freq(xas_object *object, size_t freq) { if (object->set_freq == NULL) { errno = ENOSYS; return -1; } 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; return NULL; } return object->stream_new(object); } void xas_object_destroy(xas_object *object) { if (object->destroy) { object->destroy(object); } }