Files
platform-external-webrtc/webrtc/modules/audio_processing/debug.proto
andrew@webrtc.org a8b97373d5 Add tests and modify tools for new float deinterleaved interface.
- Add an Initialize() overload to allow specification of format
parameters. This is mainly useful for testing, but could be used in
the cases where a consumer knows the format before the streams arrive.
- Add a reverse_sample_rate_hz_ parameter to prepare for mismatched
capture and render rates. There is no functional change as it is
currently constrained to match the capture rate.
- Fix a bug in the float dump: we need to use add_ rather than set_.
- Add a debug dump test for both int and float interfaces.
- Enable unpacking of float dumps.
- Enable audioproc to read float dumps.
- Move more shared functionality to test_utils.h, and generally tidy up
a bit by consolidating repeated code.

BUG=2894
TESTED=Verified that the output produced by the float debug dump test is
correct. Processed the resulting debug dump file with audioproc and
ensured that we get identical output. (This is crucial, as we need to
be able to exactly reproduce online results offline.)

R=aluebs@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/9489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5676 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 22:26:12 +00:00

54 lines
1.3 KiB
Protocol Buffer

syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package webrtc.audioproc;
message Init {
optional int32 sample_rate = 1;
optional int32 device_sample_rate = 2;
optional int32 num_input_channels = 3;
optional int32 num_output_channels = 4;
optional int32 num_reverse_channels = 5;
optional int32 reverse_sample_rate = 6;
}
// 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;
}