Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Unified Diff: webrtc/modules/audio_coding/main/acm2/dump.proto

Issue 1230973005: Adds logging of configuration information for VideoReceiveStream (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.
}

Powered by Google App Engine
This is Rietveld 408576698