MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / slotStart

Method slotStart

Plugins/Player/BackendPlayer.cpp:203–249  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

201}
202
203void CBackendPlayer::slotStart()
204{
205 qDebug(log) << Q_FUNC_INFO;
206 slotEnableAudioInput(m_pParameters->GetEnableAudioInput());
207 slotEnableAudioOutput(m_pParameters->GetEnableAudioOutput());
208
209 switch (m_pParameters->GetType()) {
210 case CParameterPlayer::TYPE::Camera: {
211 if(!m_pCamera) {
212 const QList<QCameraDevice> cameras = QMediaDevices::videoInputs();
213 if(cameras.isEmpty()
214 || -1 > m_pParameters->GetCamera()
215 || m_pParameters->GetCamera() > QMediaDevices::videoInputs().size())
216 break;
217 m_pCamera = new QCamera(cameras.at(m_pParameters->GetCamera()));
218 emit sigServerName(cameras.at(m_pParameters->GetCamera()).description());
219 }
220 if(m_pCamera) {
221 m_CaptureSession.setVideoSink(&m_VideoSink);
222 m_CaptureSession.setCamera(m_pCamera);
223 m_pCamera->start();
224 }
225 break;
226 }
227 case CParameterPlayer::TYPE::Url: {
228 QString szFile = m_pParameters->GetUrl();
229 QFileInfo fi(szFile);
230 emit sigServerName(fi.fileName());
231 QUrl url(szFile);
232 if(url.isRelative())
233 url = QUrl::fromLocalFile(szFile);
234 m_Player.setSource(url);
235 m_Player.setVideoSink(&m_VideoSink);
236#if HAVE_QT6_RECORD
237 if(m_pParameters->m_Record.GetEnableAudio())
238 m_Player.setAudioBufferOutput(&m_AudioBufferOutput);
239#endif
240 m_Player.play();
241
242 m_nPosition = m_Player.position();
243 m_nDuration = m_Player.duration();
244 break;
245 }
246 default:
247 break;
248 }
249}
250
251void CBackendPlayer::slotStop()
252{

Callers

nothing calls this directly

Calls 8

GetEnableAudioInputMethod · 0.80
GetEnableAudioOutputMethod · 0.80
GetCameraMethod · 0.80
startMethod · 0.80
GetUrlMethod · 0.80
GetEnableAudioMethod · 0.80
GetTypeMethod · 0.45
isEmptyMethod · 0.45

Tested by

no test coverage detected