libfreenect  0.1.2
libfreenect-audio.h
Go to the documentation of this file.
1 /*
2  * This file is part of the OpenKinect Project. http://www.openkinect.org
3  *
4  * Copyright (c) 2011 individual OpenKinect contributors. See the CONTRIB file
5  * for details.
6  *
7  * This code is licensed to you under the terms of the Apache License, version
8  * 2.0, or, at your option, the terms of the GNU General Public License,
9  * version 2.0. See the APACHE20 and GPL2 files for the text of the licenses,
10  * or the following URLs:
11  * http://www.apache.org/licenses/LICENSE-2.0
12  * http://www.gnu.org/licenses/gpl-2.0.txt
13  *
14  * If you redistribute this file in source form, modified or unmodified, you
15  * may:
16  * 1) Leave this header intact and distribute it under the same terms,
17  * accompanying it with the APACHE20 and GPL20 files, or
18  * 2) Delete the Apache 2.0 clause and accompany it with the GPL2 file, or
19  * 3) Delete the GPL v2 clause and accompany it with the APACHE20 file
20  * In all cases you must keep the copyright notice intact and include a copy
21  * of the CONTRIB file.
22  *
23  * Binary distributions must follow the binary distribution requirements of
24  * either License.
25  */
26 
27 #pragma once
28 
29 #include <libfreenect.h>
30 #include <stdint.h>
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
37 typedef struct {
38  int16_t left;
39  int16_t right;
40  int16_t center;
41  int16_t lfe;
42  int16_t surround_left;
43  int16_t surround_right;
45 
59 typedef void (*freenect_audio_in_cb)(freenect_device *dev, int num_samples,
60  int32_t* mic1, int32_t* mic2,
61  int32_t* mic3, int32_t* mic4,
62  int16_t* cancelled, void *unknown/*, timestamp_t timestamp*/);
63 
72 typedef void (*freenect_audio_out_cb)(freenect_device *dev, freenect_sample_51* samples, int* sample_count);
73 
83 
94 
103 
112 
113 #ifdef __cplusplus
114 }
115 #endif
void(* freenect_audio_out_cb)(freenect_device *dev, freenect_sample_51 *samples, int *sample_count)
Definition: libfreenect-audio.h:72
#define FREENECTAPI
If Win32, export all functions for DLL usage.
Definition: libfreenect.h:187
FREENECTAPI int freenect_start_audio(freenect_device *dev)
Structure to represent a single 16-bit signed little-endian PCM sample.
Definition: libfreenect-audio.h:37
int16_t center
Definition: libfreenect-audio.h:40
int16_t right
Definition: libfreenect-audio.h:39
int16_t lfe
Definition: libfreenect-audio.h:41
int16_t surround_left
Definition: libfreenect-audio.h:42
void(* freenect_audio_in_cb)(freenect_device *dev, int num_samples, int32_t *mic1, int32_t *mic2, int32_t *mic3, int32_t *mic4, int16_t *cancelled, void *unknown)
Definition: libfreenect-audio.h:59
int16_t surround_right
Definition: libfreenect-audio.h:43
FREENECTAPI void freenect_set_audio_in_callback(freenect_device *dev, freenect_audio_in_cb callback)
FREENECTAPI void freenect_set_audio_out_callback(freenect_device *dev, freenect_audio_out_cb callback)
struct _freenect_device freenect_device
Definition: libfreenect.h:179
int16_t left
Definition: libfreenect-audio.h:38
FREENECTAPI int freenect_stop_audio(freenect_device *dev)