OLD | NEW |
---|---|
1 syntax = "proto2"; | 1 syntax = "proto2"; |
2 option optimize_for = LITE_RUNTIME; | 2 option optimize_for = LITE_RUNTIME; |
3 package webrtc.rtclog; | 3 package webrtc.rtclog; |
4 | 4 |
5 | 5 |
6 enum MediaType { | 6 enum MediaType { |
7 ANY = 0; | 7 ANY = 0; |
8 AUDIO = 1; | 8 AUDIO = 1; |
9 VIDEO = 2; | 9 VIDEO = 2; |
10 DATA = 3; | 10 DATA = 3; |
(...skipping 16 matching lines...) Expand all Loading... | |
27 // The different types of events that can occur, the UNKNOWN_EVENT entry | 27 // The different types of events that can occur, the UNKNOWN_EVENT entry |
28 // is added in case future EventTypes are added, in that case old code will | 28 // is added in case future EventTypes are added, in that case old code will |
29 // receive the new events as UNKNOWN_EVENT. | 29 // receive the new events as UNKNOWN_EVENT. |
30 enum EventType { | 30 enum EventType { |
31 UNKNOWN_EVENT = 0; | 31 UNKNOWN_EVENT = 0; |
32 LOG_START = 1; | 32 LOG_START = 1; |
33 LOG_END = 2; | 33 LOG_END = 2; |
34 RTP_EVENT = 3; | 34 RTP_EVENT = 3; |
35 RTCP_EVENT = 4; | 35 RTCP_EVENT = 4; |
36 AUDIO_PLAYOUT_EVENT = 5; | 36 AUDIO_PLAYOUT_EVENT = 5; |
37 VIDEO_RECEIVER_CONFIG_EVENT = 6; | 37 BWE_PACKET_LOSS_EVENT = 6; |
38 VIDEO_SENDER_CONFIG_EVENT = 7; | 38 BWE_PACKET_DELAY_EVENT = 7; |
39 AUDIO_RECEIVER_CONFIG_EVENT = 8; | 39 VIDEO_RECEIVER_CONFIG_EVENT = 8; |
40 AUDIO_SENDER_CONFIG_EVENT = 9; | 40 VIDEO_SENDER_CONFIG_EVENT = 9; |
41 AUDIO_RECEIVER_CONFIG_EVENT = 10; | |
42 AUDIO_SENDER_CONFIG_EVENT = 11; | |
41 } | 43 } |
42 | 44 |
43 // required - Indicates the type of this event | 45 // required - Indicates the type of this event |
44 optional EventType type = 2; | 46 optional EventType type = 2; |
45 | 47 |
46 // optional - but required if type == RTP_EVENT | 48 // optional - but required if type == RTP_EVENT |
47 optional RtpPacket rtp_packet = 3; | 49 optional RtpPacket rtp_packet = 3; |
48 | 50 |
49 // optional - but required if type == RTCP_EVENT | 51 // optional - but required if type == RTCP_EVENT |
50 optional RtcpPacket rtcp_packet = 4; | 52 optional RtcpPacket rtcp_packet = 4; |
51 | 53 |
52 // optional - but required if type == AUDIO_PLAYOUT_EVENT | 54 // optional - but required if type == AUDIO_PLAYOUT_EVENT |
53 optional AudioPlayoutEvent audio_playout_event = 5; | 55 optional AudioPlayoutEvent audio_playout_event = 5; |
54 | 56 |
57 // optional - but required if type == BWE_PACKET_LOSS_EVENT | |
58 optional BwePacketLossEvent bwe_packet_loss_event = 6; | |
59 | |
55 // optional - but required if type == VIDEO_RECEIVER_CONFIG_EVENT | 60 // optional - but required if type == VIDEO_RECEIVER_CONFIG_EVENT |
56 optional VideoReceiveConfig video_receiver_config = 6; | 61 optional VideoReceiveConfig video_receiver_config = 8; |
57 | 62 |
58 // optional - but required if type == VIDEO_SENDER_CONFIG_EVENT | 63 // optional - but required if type == VIDEO_SENDER_CONFIG_EVENT |
59 optional VideoSendConfig video_sender_config = 7; | 64 optional VideoSendConfig video_sender_config = 9; |
60 | 65 |
61 // optional - but required if type == AUDIO_RECEIVER_CONFIG_EVENT | 66 // optional - but required if type == AUDIO_RECEIVER_CONFIG_EVENT |
62 optional AudioReceiveConfig audio_receiver_config = 8; | 67 optional AudioReceiveConfig audio_receiver_config = 10; |
63 | 68 |
64 // optional - but required if type == AUDIO_SENDER_CONFIG_EVENT | 69 // optional - but required if type == AUDIO_SENDER_CONFIG_EVENT |
65 optional AudioSendConfig audio_sender_config = 9; | 70 optional AudioSendConfig audio_sender_config = 11; |
66 } | 71 } |
67 | 72 |
68 | 73 |
69 message RtpPacket { | 74 message RtpPacket { |
70 // required - True if the packet is incoming w.r.t. the user logging the data | 75 // required - True if the packet is incoming w.r.t. the user logging the data |
71 optional bool incoming = 1; | 76 optional bool incoming = 1; |
72 | 77 |
73 // required | 78 // required |
74 optional MediaType type = 2; | 79 optional MediaType type = 2; |
75 | 80 |
(...skipping 16 matching lines...) Expand all Loading... | |
92 | 97 |
93 // required - The whole packet including both payload and header. | 98 // required - The whole packet including both payload and header. |
94 optional bytes packet_data = 3; | 99 optional bytes packet_data = 3; |
95 } | 100 } |
96 | 101 |
97 message AudioPlayoutEvent { | 102 message AudioPlayoutEvent { |
98 // required - The SSRC of the audio stream associated with the playout event. | 103 // required - The SSRC of the audio stream associated with the playout event. |
99 optional uint32 local_ssrc = 2; | 104 optional uint32 local_ssrc = 2; |
100 } | 105 } |
101 | 106 |
107 message BwePacketLossEvent { | |
108 // required - Bandwidth estimate after the update. | |
stefan-webrtc
2015/10/19 08:43:21
unit
terelius
2015/10/26 17:40:18
Done. (bps)
| |
109 optional sint32 bitrate = 1; | |
ivoc
2015/10/19 16:03:38
I don't really understand why there are 2 signed i
terelius
2015/10/26 17:40:18
The fraction lost is defined as an 8-bit unsigned
stefan-webrtc
2015/10/28 16:03:18
I'm trying to move most of the BWE code to use int
terelius
2015/10/30 10:51:40
Acknowledged, though I'd like to register my dissa
stefan-webrtc
2015/10/30 10:58:04
Totally agree that there are situations where unsi
| |
110 | |
111 // required - Fraction of lost packets since last receiver report | |
112 // computed as floor( 256 * (#lost_packets / #total_packets) ). | |
113 // The possible values range from 0 to 255. | |
114 optional uint32 fraction_loss = 2; | |
115 | |
116 // TODO(terelius): Is this really needed? Remove or make optional? | |
117 // required - Total number of packets that the BWE update is based on. | |
118 optional sint32 total_packets = 3; | |
119 } | |
102 | 120 |
103 // TODO(terelius): Video and audio streams could in principle share SSRC, | 121 // TODO(terelius): Video and audio streams could in principle share SSRC, |
104 // so identifying a stream based only on SSRC might not work. | 122 // so identifying a stream based only on SSRC might not work. |
105 // It might be better to use a combination of SSRC and media type | 123 // It might be better to use a combination of SSRC and media type |
106 // or SSRC and port number, but for now we will rely on SSRC only. | 124 // or SSRC and port number, but for now we will rely on SSRC only. |
107 message VideoReceiveConfig { | 125 message VideoReceiveConfig { |
108 // required - Synchronization source (stream identifier) to be received. | 126 // required - Synchronization source (stream identifier) to be received. |
109 optional uint32 remote_ssrc = 1; | 127 optional uint32 remote_ssrc = 1; |
110 // required - Sender SSRC used for sending RTCP (such as receiver reports). | 128 // required - Sender SSRC used for sending RTCP (such as receiver reports). |
111 optional uint32 local_ssrc = 2; | 129 optional uint32 local_ssrc = 2; |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
221 } | 239 } |
222 | 240 |
223 | 241 |
224 message AudioSendConfig { | 242 message AudioSendConfig { |
225 // required - Synchronization source (stream identifier) for outgoing stream. | 243 // required - Synchronization source (stream identifier) for outgoing stream. |
226 optional uint32 ssrc = 1; | 244 optional uint32 ssrc = 1; |
227 | 245 |
228 // RTP header extensions used for the outgoing audio stream. | 246 // RTP header extensions used for the outgoing audio stream. |
229 repeated RtpHeaderExtension header_extensions = 2; | 247 repeated RtpHeaderExtension header_extensions = 2; |
230 } | 248 } |
OLD | NEW |