Line data Source code
1 : /*
2 : * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 : *
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
6 : * tree. An additional intellectual property rights grant can be found
7 : * in the file PATENTS. All contributing project authors may
8 : * be found in the AUTHORS file in the root of the source tree.
9 : */
10 : #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_PACKET_TO_SEND_H_
11 : #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_PACKET_TO_SEND_H_
12 :
13 : #include "webrtc/modules/rtp_rtcp/source/rtp_packet.h"
14 :
15 : namespace webrtc {
16 : // Class to hold rtp packet with metadata for sender side.
17 0 : class RtpPacketToSend : public rtp::Packet {
18 : public:
19 0 : explicit RtpPacketToSend(const ExtensionManager* extensions)
20 0 : : Packet(extensions) {}
21 0 : RtpPacketToSend(const RtpPacketToSend& packet) = default;
22 0 : RtpPacketToSend(const ExtensionManager* extensions, size_t capacity)
23 0 : : Packet(extensions, capacity) {}
24 :
25 : RtpPacketToSend& operator=(const RtpPacketToSend& packet) = default;
26 : // Time in local time base as close as it can to frame capture time.
27 0 : int64_t capture_time_ms() const { return capture_time_ms_; }
28 0 : void set_capture_time_ms(int64_t time) { capture_time_ms_ = time; }
29 :
30 : private:
31 : int64_t capture_time_ms_ = 0;
32 : };
33 :
34 : } // namespace webrtc
35 : #endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_PACKET_TO_SEND_H_
|