23class QMediaFrameInputPrivate :
public QObjectPrivate
26 void setCaptureSession(QMediaCaptureSession *session);
28 QMediaCaptureSession *captureSession()
const {
return m_captureSession; }
31 template <
typename Sender>
32 bool sendMediaFrame(Sender &&sender)
34 if (!m_canSendMediaFrame)
38 postponeCheckReadyToSend();
42 template <
typename Sender,
typename Signal>
43 void addUpdateSignal(Sender sender, Signal signal)
45 connect(sender, signal,
this, &QMediaFrameInputPrivate::updateCanSendMediaFrame);
48 template <
typename Sender,
typename Signal>
49 void removeUpdateSignal(Sender sender, Signal signal)
51 disconnect(sender, signal,
this, &QMediaFrameInputPrivate::updateCanSendMediaFrame);
54 void updateCanSendMediaFrame();
57 void postponeCheckReadyToSend();
59 virtual bool checkIfCanSendMediaFrame()
const = 0;
61 virtual void emitReadyToSendMediaFrame() = 0;
63 virtual void updateCaptureSessionConnections(QMediaCaptureSession *prevSession,
64 QMediaCaptureSession *currentSession) = 0;
67 QMediaCaptureSession *m_captureSession =
nullptr;
68 bool m_canSendMediaFrame =
false;
69 bool m_postponeReadyToSendCheckRun =
false;