Firefly开源社区

[应用开发] gstreamer采用waylandsink并绑定到QWidget

65

积分

0

威望

0

贡献

技术小白

积分
65
发表于 2022-2-17 16:27:23     
我现在在RK3568平台下想基于QT+Gstreamer开发媒体播放器,
gstreamer部分我采用了waylandsink,想将Gstreamer的播放绑定到QT的一个QWidget窗口,现在测试一直绑定失败,请问什么原因啊,我的绑定代码如下:
  1. void QPlayer::setVideoOutput(QWidget *widget, GstElement *pVSink)
  2. {
  3.     guintptr window_handle = 0;
  4.     window_handle = (guintptr)(this->m_pVideoWidgetWnd->winId());
  5.     qDebug()<<"---- setVideoOutput-------:"<<window_handle;
  6.     gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(pVSink), window_handle);
  7. }
复制代码

另外,我也按照https://github.com/xleng/qt-wayl ... /main/qtoverlay.cpp方式进行测试,但是这种方式虽然在我设置界面透明之后能够播放,但是不符合我的需求,请问需要如何去进行绑定我的视频界面到我的QWidget窗口啊,谢谢
回复

使用道具 举报

65

积分

0

威望

0

贡献

技术小白

积分
65
发表于 2022-3-28 09:52:35     
已经解决了,但是采用绑定的方式由于QT的线程刷新机制,多路显示的时候界面会一卡一卡的,最后我是采用了overlay的方式进行实现的,目前3568平台上8路显示效果还可以
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2014-2022 中山市天启智能科技有限公司 粤ICP备14022046号
快速回复 返回顶部 返回列表