blob: 6042d9062a795a16c491bd9e9affe1421155d863 [file] [log] [blame]
ajm@google.com808e0e02011-08-03 21:08:51 +00001syntax = "proto2";
2option optimize_for = LITE_RUNTIME;
3package webrtc.audioproc;
4
5message Init {
6 optional int32 sample_rate = 1;
7 optional int32 device_sample_rate = 2;
8 optional int32 num_input_channels = 3;
9 optional int32 num_output_channels = 4;
10 optional int32 num_reverse_channels = 5;
11}
12
andrew@webrtc.org17e40642014-03-04 20:58:13 +000013// May contain interleaved or deinterleaved data, but don't store both formats.
ajm@google.com808e0e02011-08-03 21:08:51 +000014message ReverseStream {
andrew@webrtc.org17e40642014-03-04 20:58:13 +000015 // int16 interleaved data.
ajm@google.com808e0e02011-08-03 21:08:51 +000016 optional bytes data = 1;
andrew@webrtc.org17e40642014-03-04 20:58:13 +000017
18 // float deinterleaved data, where each repeated element points to a single
19 // channel buffer of data.
20 repeated bytes channel = 2;
ajm@google.com808e0e02011-08-03 21:08:51 +000021}
22
andrew@webrtc.org17e40642014-03-04 20:58:13 +000023// May contain interleaved or deinterleaved data, but don't store both formats.
ajm@google.com808e0e02011-08-03 21:08:51 +000024message Stream {
andrew@webrtc.org17e40642014-03-04 20:58:13 +000025 // int16 interleaved data.
ajm@google.com808e0e02011-08-03 21:08:51 +000026 optional bytes input_data = 1;
27 optional bytes output_data = 2;
andrew@webrtc.org17e40642014-03-04 20:58:13 +000028
ajm@google.com808e0e02011-08-03 21:08:51 +000029 optional int32 delay = 3;
30 optional sint32 drift = 4;
31 optional int32 level = 5;
andrew@webrtc.orgce8e0772014-02-12 15:28:30 +000032 optional bool keypress = 6;
andrew@webrtc.org17e40642014-03-04 20:58:13 +000033
34 // float deinterleaved data, where each repeated element points to a single
35 // channel buffer of data.
36 repeated bytes input_channel = 7;
37 repeated bytes output_channel = 8;
ajm@google.com808e0e02011-08-03 21:08:51 +000038}
39
40message Event {
41 enum Type {
42 INIT = 0;
43 REVERSE_STREAM = 1;
44 STREAM = 2;
45 }
46
47 required Type type = 1;
48
49 optional Init init = 2;
50 optional ReverseStream reverse_stream = 3;
51 optional Stream stream = 4;
52}