Home | History | Annotate | Download | only in audio_processing
      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