media/libcubeb/src/cubeb-internal.h

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/media/libcubeb/src/cubeb-internal.h	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,33 @@
     1.4 +/*
     1.5 + * Copyright © 2013 Mozilla Foundation
     1.6 + *
     1.7 + * This program is made available under an ISC-style license.  See the
     1.8 + * accompanying file LICENSE for details.
     1.9 + */
    1.10 +#if !defined(CUBEB_INTERNAL_0eb56756_4e20_4404_a76d_42bf88cd15a5)
    1.11 +#define CUBEB_INTERNAL_0eb56756_4e20_4404_a76d_42bf88cd15a5
    1.12 +
    1.13 +#include "cubeb/cubeb.h"
    1.14 +
    1.15 +struct cubeb_ops {
    1.16 +  int (* init)(cubeb ** context, char const * context_name);
    1.17 +  char const * (* get_backend_id)(cubeb * context);
    1.18 +  int (* get_max_channel_count)(cubeb * context, uint32_t * max_channels);
    1.19 +  int (* get_min_latency)(cubeb * context,
    1.20 +                          cubeb_stream_params params,
    1.21 +                          uint32_t * latency_ms);
    1.22 +  int (* get_preferred_sample_rate)(cubeb * context, uint32_t * rate);
    1.23 +  void (* destroy)(cubeb * context);
    1.24 +  int (* stream_init)(cubeb * context, cubeb_stream ** stream, char const * stream_name,
    1.25 +                      cubeb_stream_params stream_params, unsigned int latency,
    1.26 +                      cubeb_data_callback data_callback,
    1.27 +                      cubeb_state_callback state_callback,
    1.28 +                      void * user_ptr);
    1.29 +  void (* stream_destroy)(cubeb_stream * stream);
    1.30 +  int (* stream_start)(cubeb_stream * stream);
    1.31 +  int (* stream_stop)(cubeb_stream * stream);
    1.32 +  int (* stream_get_position)(cubeb_stream * stream, uint64_t * position);
    1.33 +  int (* stream_get_latency)(cubeb_stream * stream, uint32_t * latency);
    1.34 +};
    1.35 +
    1.36 +#endif /* CUBEB_INTERNAL_0eb56756_4e20_4404_a76d_42bf88cd15a5 */

mercurial