47 void setCamera(QPlatformCamera *camera)
override;
90 void updatePrimaryActiveVideoSource();
96 template<
typename VideoSource>
97 bool setVideoSource(QPointer<VideoSource> &source, VideoSource *newSource);
99 [[nodiscard]] QPlatformVideoSource *primaryVideoSource(QPlatformVideoSource *pendingActiveSource);
101 void updateVideoFrameConnection(QPlatformVideoSource *pendingActiveSource);
103 QPointer<QPlatformCamera> m_camera;
104 QPointer<QPlatformSurfaceCapture> m_screenCapture;
105 QPointer<QPlatformSurfaceCapture> m_windowCapture;
106 QPointer<QPlatformVideoFrameInput> m_videoFrameInput;
107 QPointer<QPlatformVideoSource> m_primaryActiveVideoSource;
109 QPointer<QFFmpegAudioInput> m_audioInput;
110 QPointer<QPlatformAudioBufferInput> m_audioBufferInput;
114 QPlatformAudioOutput *m_audioOutput =
nullptr;
115 QVideoSink *m_videoSink =
nullptr;
116 std::unique_ptr<QAudioSink> m_audioSink;
117 QPointer<QIODevice> m_audioIODevice;
118 qsizetype m_audioBufferSize = 0;
120 struct SourceSinkConnection {
121 QPlatformVideoSource *source =
nullptr;
122 QVideoSink *sink =
nullptr;
123 QMetaObject::Connection connection;
126 SourceSinkConnection m_videoSinkConnection;