LeviLamina
Loading...
Searching...
No Matches
VideoRtpTrackSource.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/rtc/VideoSinkInterface.h"
7#include "mc/external/rtc/VideoSourceInterface.h"
8#include "mc/external/webrtc/VideoTrackSource.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace webrtc { class RecordableEncodedFrame; }
13namespace webrtc { class VideoFrame; }
14// clang-format on
15
16namespace webrtc {
17
18class VideoRtpTrackSource : public ::webrtc::VideoTrackSource {
19public:
20 // VideoRtpTrackSource inner types declare
21 // clang-format off
22 class Callback;
23 // clang-format on
24
25 // VideoRtpTrackSource inner types define
26 class Callback {
27 public:
28 // virtual functions
29 // NOLINTBEGIN
30 virtual ~Callback() = default;
31
32 virtual void OnGenerateKeyFrame() = 0;
33
34 virtual void OnEncodedSinkEnabled(bool) = 0;
35 // NOLINTEND
36
37 public:
38 // virtual function thunks
39 // NOLINTBEGIN
40
41 // NOLINTEND
42 };
43
44public:
45 // member variables
46 // NOLINTBEGIN
52 // NOLINTEND
53
54public:
55 // prevent constructor by default
56 VideoRtpTrackSource& operator=(VideoRtpTrackSource const&);
57 VideoRtpTrackSource(VideoRtpTrackSource const&);
58 VideoRtpTrackSource();
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ::rtc::VideoSourceInterface<::webrtc::VideoFrame>* source() /*override*/;
64
65 virtual bool SupportsEncodedOutput() const /*override*/;
66
67 virtual void GenerateKeyFrame() /*override*/;
68
69 virtual void AddEncodedSink(::rtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame>* sink) /*override*/;
70
71 virtual void RemoveEncodedSink(::rtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame>* sink) /*override*/;
72
73 virtual ~VideoRtpTrackSource() /*override*/;
74 // NOLINTEND
75
76public:
77 // member functions
78 // NOLINTBEGIN
79 MCNAPI void BroadcastRecordableEncodedFrame(::webrtc::RecordableEncodedFrame const& frame) const;
80
81 MCNAPI void ClearCallback();
82
83 MCNAPI explicit VideoRtpTrackSource(::webrtc::VideoRtpTrackSource::Callback* callback);
84
85 MCNAPI ::rtc::VideoSinkInterface<::webrtc::VideoFrame>* sink();
86 // NOLINTEND
87
88public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCNAPI void* $ctor(::webrtc::VideoRtpTrackSource::Callback* callback);
92 // NOLINTEND
93
94public:
95 // destructor thunk
96 // NOLINTBEGIN
97 MCNAPI void $dtor();
98 // NOLINTEND
99
100public:
101 // virtual function thunks
102 // NOLINTBEGIN
103 MCNAPI ::rtc::VideoSourceInterface<::webrtc::VideoFrame>* $source();
104
105 MCNAPI bool $SupportsEncodedOutput() const;
106
107 MCNAPI void $GenerateKeyFrame();
108
109 MCNAPI void $AddEncodedSink(::rtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame>* sink);
110
111 MCNAPI void $RemoveEncodedSink(::rtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame>* sink);
112
113
114 // NOLINTEND
115
116public:
117 // vftables
118 // NOLINTBEGIN
119 MCNAPI static void** $vftable();
120
121 MCNAPI static void** $vftableForRefCountInterface();
122
123 MCNAPI static void** $vftableForNotifierInterface();
124 // NOLINTEND
125};
126
127} // namespace webrtc
Definition RecordableEncodedFrame.h:18
Definition VideoFrame.h:16
Definition VideoRtpTrackSource.h:26
MCAPI void $RemoveEncodedSink(::rtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame > *sink)
MCAPI void BroadcastRecordableEncodedFrame(::webrtc::RecordableEncodedFrame const &frame) const
MCAPI ::rtc::VideoSourceInterface<::webrtc::VideoFrame > * $source()
static MCAPI void ** $vftableForRefCountInterface()
MCAPI void $AddEncodedSink(::rtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame > *sink)
static MCAPI void ** $vftableForNotifierInterface()
MCAPI ::rtc::VideoSinkInterface<::webrtc::VideoFrame > * sink()
MCAPI bool $SupportsEncodedOutput() const
MCAPI void * $ctor(::webrtc::VideoRtpTrackSource::Callback *callback)
static MCAPI void ** $vftable()
Definition VideoTrackSource.h:21
Definition Alias.h:14