Index: webrtc/modules/audio_coding/main/acm2/dump.proto |
diff --git a/webrtc/modules/audio_coding/main/acm2/dump.proto b/webrtc/modules/audio_coding/main/acm2/dump.proto |
new file mode 100644 |
index 0000000000000000000000000000000000000000..416bb7a61b6e08beaae960023dac1260216aa0bf |
--- /dev/null |
+++ b/webrtc/modules/audio_coding/main/acm2/dump.proto |
@@ -0,0 +1,78 @@ |
+syntax = "proto2"; |
+option optimize_for = LITE_RUNTIME; |
+package webrtc; |
+ |
+// This is the main message to dump to a file, it can contain multiple event |
+// messages, but it is possible to append multiple EventStreams (each with a |
+// single event) to a file. |
+// This has the benefit that there's no need to keep all data in memory. |
+message ACMDumpEventStream { |
+ repeated ACMDumpEvent stream = 1; |
+} |
+ |
+message ACMDumpEvent { |
+ // required - Elapsed wallclock time in us since the start of the log. |
+ optional int64 timestamp_us = 1; |
+ |
+ // The different types of events that can occur, the UNKNOWN_EVENT entry |
+ // is added in case future EventTypes are added, in that case old code will |
+ // receive the new events as UNKNOWN_EVENT. |
+ enum EventType { |
+ UNKNOWN_EVENT = 0; |
+ RTP_EVENT = 1; |
+ DEBUG_EVENT = 2; |
+ } |
+ |
+ // required - Indicates the type of this event |
+ optional EventType type = 2; |
+ |
+ // optional - but required if type == RTP_EVENT |
+ optional ACMDumpRTPPacket packet = 3; |
+ |
+ // optional - but required if type == DEBUG_EVENT |
+ optional ACMDumpDebugEvent debug_event = 4; |
+} |
+ |
+message ACMDumpRTPPacket { |
+ // Indicates if the packet is incoming or outgoing with respect to the user |
+ // that is logging the data. |
+ enum Direction { |
+ UNKNOWN_DIRECTION = 0; |
+ OUTGOING = 1; |
+ INCOMING = 2; |
+ } |
+ enum PayloadType { |
+ UNKNOWN_TYPE = 0; |
+ AUDIO = 1; |
+ VIDEO = 2; |
+ RTX = 3; |
+ } |
+ |
+ // required |
+ optional Direction direction = 1; |
+ |
+ // required |
+ optional PayloadType type = 2; |
+ |
+ // required - Contains the whole RTP packet (header+payload). |
+ optional bytes RTP_data = 3; |
+} |
+ |
+message ACMDumpDebugEvent { |
+ // Indicates the type of the debug event. |
+ // LOG_START and LOG_END indicate the start and end of the log respectively. |
+ // AUDIO_PLAYOUT indicates a call to the PlayoutData10Ms() function in ACM. |
+ enum EventType { |
+ UNKNOWN_EVENT = 0; |
+ LOG_START = 1; |
+ LOG_END = 2; |
+ AUDIO_PLAYOUT = 3; |
+ } |
+ |
+ // required |
+ optional EventType type = 1; |
+ |
+ // An optional message that can be used to store additional information about |
+ // the debug event. |
+ optional string message = 2; |
+} |