1 syntax = "proto2"; 2 option optimize_for = LITE_RUNTIME; 3 package webrtc.audioproc; 4 5 message Init { 6 optional int32 sample_rate = 1; 7 optional int32 device_sample_rate = 2 [deprecated=true]; 8 optional int32 num_input_channels = 3; 9 optional int32 num_output_channels = 4; 10 optional int32 num_reverse_channels = 5; 11 optional int32 reverse_sample_rate = 6; 12 optional int32 output_sample_rate = 7; 13 } 14 15 // May contain interleaved or deinterleaved data, but don't store both formats. 16 message ReverseStream { 17 // int16 interleaved data. 18 optional bytes data = 1; 19 20 // float deinterleaved data, where each repeated element points to a single 21 // channel buffer of data. 22 repeated bytes channel = 2; 23 } 24 25 // May contain interleaved or deinterleaved data, but don't store both formats. 26 message Stream { 27 // int16 interleaved data. 28 optional bytes input_data = 1; 29 optional bytes output_data = 2; 30 31 optional int32 delay = 3; 32 optional sint32 drift = 4; 33 optional int32 level = 5; 34 optional bool keypress = 6; 35 36 // float deinterleaved data, where each repeated element points to a single 37 // channel buffer of data. 38 repeated bytes input_channel = 7; 39 repeated bytes output_channel = 8; 40 } 41 42 message Event { 43 enum Type { 44 INIT = 0; 45 REVERSE_STREAM = 1; 46 STREAM = 2; 47 } 48 49 required Type type = 1; 50 51 optional Init init = 2; 52 optional ReverseStream reverse_stream = 3; 53 optional Stream stream = 4; 54 } 55