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 |
index 232faec42871cfc20ef55ffc6f6e6b48c338eec0..ff1eb20f825b96b71a26cf572c5d77d2e1b5ef0c 100644 |
--- a/webrtc/modules/audio_coding/main/acm2/dump.proto |
+++ b/webrtc/modules/audio_coding/main/acm2/dump.proto |
@@ -21,25 +21,73 @@ message ACMDumpEvent { |
enum EventType { |
UNKNOWN_EVENT = 0; |
RTP_EVENT = 1; |
- DEBUG_EVENT = 2; |
- CONFIG_EVENT = 3; |
+ RTCP_EVENT = 2; |
+ DEBUG_EVENT = 3; |
+ RECEIVER_CONFIG_EVENT = 4; |
+ SENDER_CONFIG_EVENT = 5; |
+ AUDIO_RECEIVER_CONFIG_EVENT = 6; |
+ AUDIO_SENDER_CONFIG_EVENT = 7; |
} |
// required - Indicates the type of this event |
optional EventType type = 2; |
// optional - but required if type == RTP_EVENT |
- optional ACMDumpRTPPacket packet = 3; |
+ optional ACMDumpRtpPacket rtp_packet = 3; |
+ |
+ // optional - but required if type == RTCP_EVENT |
+ optional ACMDumpRtcpPacket rtcp_packet = 4; |
// optional - but required if type == DEBUG_EVENT |
- optional ACMDumpDebugEvent debug_event = 4; |
+ optional ACMDumpDebugEvent debug_event = 5; |
+ |
+ // optional - but required if type == RECEIVER_CONFIG_EVENT |
+ optional ACMDumpVideoReceiveConfig receiver_config = 6; |
+ |
+ // optional - but required if type == SENDER_CONFIG_EVENT |
+ optional ACMDumpVideoSendConfig sender_config = 7; |
+ |
+ // optional - but required if type == AUDIO_RECEIVER_CONFIG_EVENT |
+ optional ACMDumpAudioReceiveConfig audio_receiver_config = 8; |
+ |
+ // optional - but required if type == AUDIO_SENDER_CONFIG_EVENT |
+ optional ACMDumpAudioSendConfig audio_sender_config = 9; |
+} |
+ |
+ |
+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; // TODO(terelius): Where does this get set? |
ivoc
2015/07/14 12:13:14
Nowhere yet :-) We should change that.
terelius
2015/07/16 12:47:03
I mean that I don't think the RTX flag makes any s
ivoc
2015/07/17 12:14:28
Okay, makes sense, feel free to remove it in that
|
+ } |
+ |
+ // required |
+ optional Direction direction = 1; |
+ |
+ // required |
+ optional PayloadType type = 2; |
+ |
+ // required - The size of the packet including both payload and header. |
+ optional uint32 packet_length = 3; |
- // optional - but required if type == CONFIG_EVENT |
- optional ACMDumpConfigEvent config = 5; |
+ // required - The RTP header only. |
+ optional bytes header = 4; |
+ |
+ // Logging payloads for user data requires privacy review. Don't uncomment. |
+ // optional bytes payload = 5; |
stefan-webrtc
2015/07/14 13:28:56
Can we simply not add this until we actually need
ivoc
2015/07/14 13:58:03
+1
terelius
2015/07/16 12:47:03
I would *very* strongly advise against this. We sh
ivoc
2015/07/17 12:14:28
I think we were trying to argue that these two lin
terelius
2015/07/17 17:48:33
I missed this comment in my last reply.
Based on
minyue-webrtc
2015/07/21 12:22:46
I do not know the privacy policy well enough. But
|
} |
-message ACMDumpRTPPacket { |
+message ACMDumpRtcpPacket { |
// Indicates if the packet is incoming or outgoing with respect to the user |
// that is logging the data. |
enum Direction { |
@@ -47,11 +95,11 @@ message ACMDumpRTPPacket { |
OUTGOING = 1; |
INCOMING = 2; |
} |
+ // RTX is not used for RTCP packets. |
stefan-webrtc
2015/07/14 13:28:56
I don't think this is necessary to comment on.
terelius
2015/07/16 12:47:03
Done.
|
enum PayloadType { |
UNKNOWN_TYPE = 0; |
AUDIO = 1; |
VIDEO = 2; |
- RTX = 3; |
} |
// required |
@@ -60,8 +108,8 @@ message ACMDumpRTPPacket { |
// required |
optional PayloadType type = 2; |
- // required - Contains the whole RTP packet (header+payload). |
- optional bytes RTP_data = 3; |
+ // required - The whole packet including both payload and header. |
+ optional bytes data = 3; |
} |
@@ -89,22 +137,35 @@ message ACMDumpDebugEvent { |
// so identifying a stream based only on SSRC might not work. |
// It might be better to use a combination of SSRC and media type |
// or SSRC and port number, but for now we will rely on SSRC only. |
-message ACMDumpConfigEvent { |
- // Synchronization source (stream identifier) to be received. |
+message ACMDumpVideoReceiveConfig { |
+ // required - Synchronization source (stream identifier) to be received. |
optional uint32 remote_ssrc = 1; |
+ // required - Sender SSRC used for sending RTCP (such as receiver reports). |
+ optional uint32 local_ssrc = 2; |
+ |
+ // Compound mode is described by RFC 4585 and reduced-size |
+ // RTCP mode is described by RFC 5506. |
+ enum RtcpMode { |
+ RTCP_COMPOUND = 1; |
+ RTCP_REDUCEDSIZE = 2; |
+ } |
+ // required - RTCP mode to use. |
+ optional RtcpMode rtcp_mode = 3; |
+ |
+ // required - Extended RTCP settings. |
+ optional bool receiver_reference_time_report = 4; |
- // RTX settings for incoming video payloads that may be received. RTX is |
- // disabled if there's no config present. |
- optional RtcpConfig rtcp_config = 3; |
+ // required - Receiver estimated maximum bandwidth. |
+ optional bool remb = 5; |
// Map from video RTP payload type -> RTX config. |
- repeated RtxMap rtx_map = 4; |
+ repeated RtxMap rtx_map = 6; |
// RTP header extensions used for the received stream. |
- repeated RtpHeaderExtension header_extensions = 5; |
+ repeated RtpHeaderExtension header_extensions = 7; |
// List of decoders associated with the stream. |
- repeated DecoderConfig decoders = 6; |
+ repeated DecoderConfig decoders = 8; |
} |
@@ -118,7 +179,7 @@ message DecoderConfig { |
} |
-// Maps RTP header extension names to numerical ids. |
+// Maps RTP header extension names to numerical IDs. |
message RtpHeaderExtension { |
// required |
optional string name = 1; |
@@ -131,11 +192,11 @@ message RtpHeaderExtension { |
// RTX settings for incoming video payloads that may be received. |
// RTX is disabled if there's no config present. |
message RtxConfig { |
- // required - SSRCs to use for the RTX streams. |
- optional uint32 ssrc = 1; |
+ // required - SSRC to use for the RTX stream. |
+ optional uint32 rtx_ssrc = 1; |
// required - Payload type to use for the RTX stream. |
- optional sint32 payload_type = 2; |
+ optional sint32 rtx_payload_type = 2; |
} |
@@ -148,22 +209,44 @@ message RtxMap { |
} |
-// Configuration information for RTCP. |
-// For bandwidth estimation purposes it is more interesting to log the |
-// RTCP messages that the sender receives, but we will support logging |
-// at the receiver side too. |
-message RtcpConfig { |
- // Sender SSRC used for sending RTCP (such as receiver reports). |
- optional uint32 local_ssrc = 1; |
+message ACMDumpVideoSendConfig { |
+ // Synchronization source (stream identifier) for outgoing stream. |
+ // One stream can have several ssrcs for e.g. simulcast. |
+ // At least one ssrc is required. |
+ repeated uint32 ssrcs = 1; |
- // RTCP mode to use. Compound mode is described by RFC 4585 and reduced-size |
- // RTCP mode is described by RFC 5506. |
- enum RtcpMode {RTCP_COMPOUND = 1; RTCP_REDUCEDSIZE = 2;} |
- optional RtcpMode rtcp_mode = 2; |
+ // RTP header extensions used for the outgoing stream. |
+ repeated RtpHeaderExtension header_extensions = 2; |
+ |
+ // List of SSRCs for retransmitted packets. |
+ repeated uint32 rtx_ssrcs = 3; |
+ |
+ // required if rtx_ssrcs is used - Payload type for retransmitted packets. |
+ optional sint32 rtx_payload_type = 4; |
+ |
+ // required - Canonical end-point identifier. |
+ optional string c_name = 5; |
+ |
+ // required - Encoder associated with the stream. |
+ optional EncoderConfig encoder = 6; |
+} |
+ |
+ |
+// Maps encoder names to payload types. |
+message EncoderConfig { |
+ // required |
+ optional string name = 1; |
+ |
+ // required |
+ optional sint32 payload_type = 2; |
+} |
+ |
+ |
+message ACMDumpAudioReceiveConfig { |
+ // TODO(terelius): Figure out what the requirements are from the audio team. |
ivoc
2015/07/14 12:13:14
I will try to look into that.
terelius
2015/07/16 12:47:03
Acknowledged.
|
+} |
- // Extended RTCP settings. |
- optional bool receiver_reference_time_report = 3; |
- // Receiver estimated maximum bandwidth. |
- optional bool remb = 4; |
+message ACMDumpAudioSendConfig { |
+ // TODO(terelius): Figure out what the requirements are from the audio team. |
} |