syntax = "proto2"; option optimize_for = LITE_RUNTIME; package webrtc.audioproc; message Init { optional int32 sample_rate = 1; optional int32 device_sample_rate = 2 [deprecated=true]; optional int32 num_input_channels = 3; optional int32 num_output_channels = 4; optional int32 num_reverse_channels = 5; optional int32 reverse_sample_rate = 6; optional int32 output_sample_rate = 7; } // May contain interleaved or deinterleaved data, but don't store both formats. message ReverseStream { // int16 interleaved data. optional bytes data = 1; // float deinterleaved data, where each repeated element points to a single // channel buffer of data. repeated bytes channel = 2; } // May contain interleaved or deinterleaved data, but don't store both formats. message Stream { // int16 interleaved data. optional bytes input_data = 1; optional bytes output_data = 2; optional int32 delay = 3; optional sint32 drift = 4; optional int32 level = 5; optional bool keypress = 6; // float deinterleaved data, where each repeated element points to a single // channel buffer of data. repeated bytes input_channel = 7; repeated bytes output_channel = 8; } message Event { enum Type { INIT = 0; REVERSE_STREAM = 1; STREAM = 2; } required Type type = 1; optional Init init = 2; optional ReverseStream reverse_stream = 3; optional Stream stream = 4; }