Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | /* |
michael@0 | 2 | * Copyright © 2013 Mozilla Foundation |
michael@0 | 3 | * |
michael@0 | 4 | * This program is made available under an ISC-style license. See the |
michael@0 | 5 | * accompanying file LICENSE for details. |
michael@0 | 6 | */ |
michael@0 | 7 | #if !defined(CUBEB_INTERNAL_0eb56756_4e20_4404_a76d_42bf88cd15a5) |
michael@0 | 8 | #define CUBEB_INTERNAL_0eb56756_4e20_4404_a76d_42bf88cd15a5 |
michael@0 | 9 | |
michael@0 | 10 | #include "cubeb/cubeb.h" |
michael@0 | 11 | |
michael@0 | 12 | struct cubeb_ops { |
michael@0 | 13 | int (* init)(cubeb ** context, char const * context_name); |
michael@0 | 14 | char const * (* get_backend_id)(cubeb * context); |
michael@0 | 15 | int (* get_max_channel_count)(cubeb * context, uint32_t * max_channels); |
michael@0 | 16 | int (* get_min_latency)(cubeb * context, |
michael@0 | 17 | cubeb_stream_params params, |
michael@0 | 18 | uint32_t * latency_ms); |
michael@0 | 19 | int (* get_preferred_sample_rate)(cubeb * context, uint32_t * rate); |
michael@0 | 20 | void (* destroy)(cubeb * context); |
michael@0 | 21 | int (* stream_init)(cubeb * context, cubeb_stream ** stream, char const * stream_name, |
michael@0 | 22 | cubeb_stream_params stream_params, unsigned int latency, |
michael@0 | 23 | cubeb_data_callback data_callback, |
michael@0 | 24 | cubeb_state_callback state_callback, |
michael@0 | 25 | void * user_ptr); |
michael@0 | 26 | void (* stream_destroy)(cubeb_stream * stream); |
michael@0 | 27 | int (* stream_start)(cubeb_stream * stream); |
michael@0 | 28 | int (* stream_stop)(cubeb_stream * stream); |
michael@0 | 29 | int (* stream_get_position)(cubeb_stream * stream, uint64_t * position); |
michael@0 | 30 | int (* stream_get_latency)(cubeb_stream * stream, uint32_t * latency); |
michael@0 | 31 | }; |
michael@0 | 32 | |
michael@0 | 33 | #endif /* CUBEB_INTERNAL_0eb56756_4e20_4404_a76d_42bf88cd15a5 */ |