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

Side by Side Diff: webrtc/modules/rtp_rtcp/include/ulpfec_receiver.h

Issue 2536653002: Update video histograms that do not have a minimum lifetime limit before being recorded. (Closed)
Patch Set: Split from https://codereview.webrtc.org/2482763003/ Created 4 years 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 unified diff | Download patch
« no previous file with comments | « no previous file | webrtc/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #ifndef WEBRTC_MODULES_RTP_RTCP_INCLUDE_ULPFEC_RECEIVER_H_ 11 #ifndef WEBRTC_MODULES_RTP_RTCP_INCLUDE_ULPFEC_RECEIVER_H_
12 #define WEBRTC_MODULES_RTP_RTCP_INCLUDE_ULPFEC_RECEIVER_H_ 12 #define WEBRTC_MODULES_RTP_RTCP_INCLUDE_ULPFEC_RECEIVER_H_
13 13
14 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" 14 #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
15 #include "webrtc/typedefs.h" 15 #include "webrtc/typedefs.h"
16 16
17 namespace webrtc { 17 namespace webrtc {
18 18
19 struct FecPacketCounter { 19 struct FecPacketCounter {
20 FecPacketCounter() 20 FecPacketCounter()
21 : num_packets(0), num_fec_packets(0), num_recovered_packets(0) {} 21 : num_packets(0),
22 num_fec_packets(0),
23 num_recovered_packets(0),
24 first_packet_time_ms(-1) {}
22 25
23 size_t num_packets; // Number of received packets. 26 size_t num_packets; // Number of received packets.
24 size_t num_fec_packets; // Number of received FEC packets. 27 size_t num_fec_packets; // Number of received FEC packets.
25 size_t num_recovered_packets; // Number of recovered media packets using FEC. 28 size_t num_recovered_packets; // Number of recovered media packets using FEC.
29 int64_t first_packet_time_ms; // Time when first packet is received.
26 }; 30 };
27 31
28 class UlpfecReceiver { 32 class UlpfecReceiver {
29 public: 33 public:
30 static UlpfecReceiver* Create(RtpData* callback); 34 static UlpfecReceiver* Create(RtpData* callback);
31 35
32 virtual ~UlpfecReceiver() {} 36 virtual ~UlpfecReceiver() {}
33 37
34 // Takes a RED packet, strips the RED header, and adds the resulting 38 // Takes a RED packet, strips the RED header, and adds the resulting
35 // "virtual" RTP packet(s) into the internal buffer. 39 // "virtual" RTP packet(s) into the internal buffer.
36 // 40 //
37 // TODO(brandtr): Set |ulpfec_payload_type| during constructor call, 41 // TODO(brandtr): Set |ulpfec_payload_type| during constructor call,
38 // rather than as a parameter here. 42 // rather than as a parameter here.
39 virtual int32_t AddReceivedRedPacket(const RTPHeader& rtp_header, 43 virtual int32_t AddReceivedRedPacket(const RTPHeader& rtp_header,
40 const uint8_t* incoming_rtp_packet, 44 const uint8_t* incoming_rtp_packet,
41 size_t packet_length, 45 size_t packet_length,
42 uint8_t ulpfec_payload_type) = 0; 46 uint8_t ulpfec_payload_type) = 0;
43 47
44 // Sends the received packets to the FEC and returns all packets 48 // Sends the received packets to the FEC and returns all packets
45 // (both original media and recovered) through the callback. 49 // (both original media and recovered) through the callback.
46 virtual int32_t ProcessReceivedFec() = 0; 50 virtual int32_t ProcessReceivedFec() = 0;
47 51
48 // Returns a counter describing the added and recovered packets. 52 // Returns a counter describing the added and recovered packets.
49 virtual FecPacketCounter GetPacketCounter() const = 0; 53 virtual FecPacketCounter GetPacketCounter() const = 0;
50 }; 54 };
51 } // namespace webrtc 55 } // namespace webrtc
52 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_ULPFEC_RECEIVER_H_ 56 #endif // WEBRTC_MODULES_RTP_RTCP_INCLUDE_ULPFEC_RECEIVER_H_
OLDNEW
« no previous file with comments | « no previous file | webrtc/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698