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/webrtc/VideoSinkInterface.h"
7#include "mc/external/webrtc/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 enable) = 0;
35 // NOLINTEND
36 };
37
38public:
39 // member variables
40 // NOLINTBEGIN
46 // NOLINTEND
47
48public:
49 // prevent constructor by default
50 VideoRtpTrackSource& operator=(VideoRtpTrackSource const&);
51 VideoRtpTrackSource(VideoRtpTrackSource const&);
52 VideoRtpTrackSource();
53
54public:
55 // virtual functions
56 // NOLINTBEGIN
57 virtual ::webrtc::VideoSourceInterface<::webrtc::VideoFrame>* source() /*override*/;
58
59 virtual bool SupportsEncodedOutput() const /*override*/;
60
61 virtual void GenerateKeyFrame() /*override*/;
62
63 virtual void AddEncodedSink(::webrtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame>* sink) /*override*/;
64
65 virtual void RemoveEncodedSink(::webrtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame>* sink) /*override*/;
66
67 virtual ~VideoRtpTrackSource() /*override*/ = default;
68 // NOLINTEND
69
70public:
71 // member functions
72 // NOLINTBEGIN
73 MCNAPI void BroadcastRecordableEncodedFrame(::webrtc::RecordableEncodedFrame const& frame) const;
74
75 MCNAPI void ClearCallback();
76
77 MCNAPI explicit VideoRtpTrackSource(::webrtc::VideoRtpTrackSource::Callback* callback);
78
79 MCNAPI ::webrtc::VideoSinkInterface<::webrtc::VideoFrame>* sink();
80 // NOLINTEND
81
82public:
83 // constructor thunks
84 // NOLINTBEGIN
85 MCNAPI void* $ctor(::webrtc::VideoRtpTrackSource::Callback* callback);
86 // NOLINTEND
87
88public:
89 // destructor thunk
90 // NOLINTBEGIN
91 MCNAPI void $dtor();
92 // NOLINTEND
93
94public:
95 // virtual function thunks
96 // NOLINTBEGIN
97 MCNAPI ::webrtc::VideoSourceInterface<::webrtc::VideoFrame>* $source();
98
99 MCNAPI bool $SupportsEncodedOutput() const;
100
101 MCNAPI void $GenerateKeyFrame();
102
104
106
107
108 // NOLINTEND
109
110public:
111 // vftables
112 // NOLINTBEGIN
113 MCNAPI static void** $vftable();
114
115 MCNAPI static void** $vftableForRefCountInterface();
116
117 MCNAPI static void** $vftableForNotifierInterface();
118 // NOLINTEND
119};
120
121} // namespace webrtc
Definition RecordableEncodedFrame.h:19
Definition VideoFrame.h:16
Definition VideoRtpTrackSource.h:26
MCAPI void BroadcastRecordableEncodedFrame(::webrtc::RecordableEncodedFrame const &frame) const
MCAPI ::webrtc::VideoSinkInterface<::webrtc::VideoFrame > * sink()
static MCAPI void ** $vftableForRefCountInterface()
MCAPI void $AddEncodedSink(::webrtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame > *sink)
static MCAPI void ** $vftableForNotifierInterface()
MCAPI bool $SupportsEncodedOutput() const
MCAPI void * $ctor(::webrtc::VideoRtpTrackSource::Callback *callback)
MCAPI ::webrtc::VideoSourceInterface<::webrtc::VideoFrame > * $source()
MCAPI void $RemoveEncodedSink(::webrtc::VideoSinkInterface<::webrtc::RecordableEncodedFrame > *sink)
static MCAPI void ** $vftable()
Definition VideoSinkInterface.h:8
Definition VideoSourceInterface.h:8
Definition VideoTrackSource.h:21
Definition Alias.h:14