LeviLamina
Loading...
Searching...
No Matches
RtpPacketizer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/webrtc/ArrayView.h"
7#include "mc/external/webrtc/VideoCodecType.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace webrtc { class RtpPacketToSend; }
12namespace webrtc { struct RTPVideoHeader; }
13// clang-format on
14
15namespace webrtc {
16
18public:
19 // RtpPacketizer inner types declare
20 // clang-format off
21 struct PayloadSizeLimits;
22 // clang-format on
23
24 // RtpPacketizer inner types define
25 struct PayloadSizeLimits {
26 public:
27 // member variables
28 // NOLINTBEGIN
33 // NOLINTEND
34
35 public:
36 // prevent constructor by default
37 PayloadSizeLimits& operator=(PayloadSizeLimits const&);
38 PayloadSizeLimits(PayloadSizeLimits const&);
39 PayloadSizeLimits();
40 };
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~RtpPacketizer() = default;
46
47 virtual uint64 NumPackets() const = 0;
48
49 virtual bool NextPacket(::webrtc::RtpPacketToSend* rtp_packet) = 0;
50 // NOLINTEND
51
52public:
53 // static functions
54 // NOLINTBEGIN
55 MCNAPI static ::std::unique_ptr<::webrtc::RtpPacketizer> Create(
56 ::std::optional<::webrtc::VideoCodecType> type,
59 ::webrtc::RTPVideoHeader const& rtp_video_header
60 );
61
62 MCNAPI static ::std::vector<int>
64 // NOLINTEND
65};
66
67} // namespace webrtc
Definition ArrayView.h:8
Definition RtpPacketToSend.h:16
Definition RtpPacketizer.h:17
static MCAPI ::std::vector< int > SplitAboutEqually(int payload_len, ::webrtc::RtpPacketizer::PayloadSizeLimits const &limits)
static MCAPI ::std::unique_ptr<::webrtc::RtpPacketizer > Create(::std::optional<::webrtc::VideoCodecType > type, ::webrtc::ArrayView< uchar const > payload, ::webrtc::RtpPacketizer::PayloadSizeLimits limits, ::webrtc::RTPVideoHeader const &rtp_video_header)
Definition Alias.h:14
Definition RTPVideoHeader.h:12
Definition RtpPacketizer.h:25