2#if NDEVR_SUPPORTS_QMEDIA_PLAYER
3#include <NDEVR/PhysicalCameraView.h>
6#include <QVideoEncoderSettings>
20 QTMediaCameraView(DynamicPointer<Camera>& camera, QWidget* parent)
21 : PhysicalCameraView(camera, parent)
22 , m_media_player(nullptr)
23 , m_video_widget(nullptr)
26 m_media_player =
new QMediaPlayer(
this, QMediaPlayer::StreamPlayback);
27 m_video_widget =
new QVideoWidget();
28 connect(m_media_player, SIGNAL(error(QMediaPlayer::Error)),
this, SLOT(vlcError()));
29 uint04 insert_location = ui->stacked_widget->indexOf(ui->view_panel);
30 ui->stacked_widget->insertWidget(insert_location, m_video_widget);
31 ui->stacked_widget->removeWidget(ui->view_panel);
32 m_media_player->setVideoOutput(m_video_widget);
33 StringView connection_id = m_camera->camera_source.get();
34 if (connection_id.size() > 0)
35 setCameraSource(connection_id);
42 bool setCameraSource(
const String& connection_id)
override
44 m_media_player->setMedia(QUrl(connection_id.c_str()));
46 m_media_player->play();
53 void handleError()
override
57 String error(m_media_player->errorString());
60 QTErrorDialog::CreateErrorDialog(Exception(
"Video Error", error));
64 QMediaPlayer* m_media_player;
65 QVideoWidget* m_video_widget;
A Viewport that represents a physical camera stream, or real world camera view.
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...