新增视频播放mdk内核

This commit is contained in:
feiyangqingyun
2023-12-15 12:55:42 +08:00
parent 123a5b4bed
commit 2806faa6a6
565 changed files with 4102 additions and 118681 deletions

View File

@@ -0,0 +1,55 @@
#include "mdkwidget.h"
MdkWidget::MdkWidget(QWidget *parent): OpenGLWidget(parent)
{
player = new mdk::Player;
player->setRenderCallback([this](void *) {
QMetaObject::invokeMethod(this, "update", Qt::QueuedConnection);
});
}
MdkWidget::~MdkWidget()
{
makeCurrent();
mdk::Player::foreignGLContextDestroyed();
doneCurrent();
}
void MdkWidget::setUrl(const QString &url)
{
player->setMedia(url.toUtf8().constData());
}
void MdkWidget::play()
{
player->set(mdk::State::Playing);
}
void MdkWidget::pause()
{
player->set(mdk::State::Paused);
}
void MdkWidget::stop()
{
player->set(mdk::State::Stopped);
}
void MdkWidget::initializeGL()
{
}
void MdkWidget::resizeGL(int w, int h)
{
float ratio = 1;
#if (QT_VERSION >= QT_VERSION_CHECK(5,6,0))
ratio = devicePixelRatioF();
#endif
player->setVideoSurfaceSize(w * ratio, h * ratio, this);
}
void MdkWidget::paintGL()
{
player->renderVideo(this);
}