Chromium Code Reviews| Index: webrtc/logging/rtc_event_log/rtc_event_log_parser.h |
| diff --git a/webrtc/logging/rtc_event_log/rtc_event_log_parser.h b/webrtc/logging/rtc_event_log/rtc_event_log_parser.h |
| index 966f00dfe031132ec9592190694bfbb3d01358b9..fea3e685f839450a5fd39a4e66d47125076b340a 100644 |
| --- a/webrtc/logging/rtc_event_log/rtc_event_log_parser.h |
| +++ b/webrtc/logging/rtc_event_log/rtc_event_log_parser.h |
| @@ -74,6 +74,8 @@ class ParsedRtcEventLog { |
| BWE_PROBE_RESULT_EVENT = 18 |
| }; |
| + enum class MediaType { ANY, AUDIO, VIDEO, DATA }; |
| + |
| // Reads an RtcEventLog file and returns true if parsing was successful. |
| bool ParseFile(const std::string& file_name); |
| @@ -92,42 +94,48 @@ class ParsedRtcEventLog { |
| // Reads the event type of the rtclog::Event at |index|. |
| EventType GetEventType(size_t index) const; |
| - // Reads the header, direction, media type, header length and packet length |
| - // from the RTP event at |index|, and stores the values in the corresponding |
| - // output parameters. Each output parameter can be set to nullptr if that |
| - // value isn't needed. |
| + // Reads the header, direction, header length and packet length from the RTP |
| + // event at |index|, and stores the values in the corresponding output |
| + // parameters. Each output parameter can be set to nullptr if that value |
| + // isn't needed. |
| // NB: The header must have space for at least IP_PACKET_SIZE bytes. |
| void GetRtpHeader(size_t index, |
| PacketDirection* incoming, |
| - MediaType* media_type, |
| uint8_t* header, |
| size_t* header_length, |
| size_t* total_length) const; |
| - // Reads packet, direction, media type and packet length from the RTCP event |
| - // at |index|, and stores the values in the corresponding output parameters. |
| + // Reads packet, direction and packet length from the RTCP event at |index|, |
| + // and stores the values in the corresponding output parameters. |
| // Each output parameter can be set to nullptr if that value isn't needed. |
| // NB: The packet must have space for at least IP_PACKET_SIZE bytes. |
| void GetRtcpPacket(size_t index, |
| PacketDirection* incoming, |
| - MediaType* media_type, |
| uint8_t* packet, |
| size_t* length) const; |
| // Reads a config event to a (non-NULL) StreamConfig struct. |
| // Only the fields that are stored in the protobuf will be written. |
| + void GetVideoReceiveConfig(const rtclog::Event& event, |
|
terelius
2017/05/30 08:11:19
Could we make these helper functions private?
perkj_webrtc
2017/05/30 10:17:54
yes
|
| + rtclog::StreamConfig* config) const; |
| void GetVideoReceiveConfig(size_t index, rtclog::StreamConfig* config) const; |
| // Reads a config event to a (non-NULL) StreamConfig struct. |
| // Only the fields that are stored in the protobuf will be written. |
| + void GetVideoSendConfig(const rtclog::Event& event, |
| + rtclog::StreamConfig* config) const; |
| void GetVideoSendConfig(size_t index, rtclog::StreamConfig* config) const; |
| // Reads a config event to a (non-NULL) StreamConfig struct. |
| // Only the fields that are stored in the protobuf will be written. |
| + void GetAudioReceiveConfig(const rtclog::Event& event, |
| + rtclog::StreamConfig* config) const; |
| void GetAudioReceiveConfig(size_t index, rtclog::StreamConfig* config) const; |
| // Reads a config event to a (non-NULL) StreamConfig struct. |
| // Only the fields that are stored in the protobuf will be written. |
| + void GetAudioSendConfig(const rtclog::Event& event, |
| + rtclog::StreamConfig* config) const; |
| void GetAudioSendConfig(size_t index, rtclog::StreamConfig* config) const; |
| // Reads the SSRC from the audio playout event at |index|. The SSRC is stored |
| @@ -158,13 +166,27 @@ class ParsedRtcEventLog { |
| void GetAudioNetworkAdaptation(size_t index, |
| AudioEncoderRuntimeConfig* config) const; |
| - ParsedRtcEventLog::BweProbeClusterCreatedEvent GetBweProbeClusterCreated( |
| - size_t index) const; |
| + BweProbeClusterCreatedEvent GetBweProbeClusterCreated(size_t index) const; |
| + |
| + BweProbeResultEvent GetBweProbeResult(size_t index) const; |
| - ParsedRtcEventLog::BweProbeResultEvent GetBweProbeResult(size_t index) const; |
| + MediaType GetMediaType(uint32_t ssrc, PacketDirection direction) const; |
| private: |
| std::vector<rtclog::Event> events_; |
| + |
| + struct Stream { |
| + Stream(uint32_t ssrc, |
| + MediaType media_type, |
| + webrtc::PacketDirection direction) |
| + : ssrc(ssrc), media_type(media_type), direction(direction) {} |
| + uint32_t ssrc; |
| + MediaType media_type; |
| + webrtc::PacketDirection direction; |
| + }; |
| + |
| + // All configured streams found in the event log. |
| + std::vector<Stream> streams_; |
| }; |
| } // namespace webrtc |