다른 개발자가 번거롭지 않게 임베디드 장치에서 비디오를 재생할 수 있도록 QML 플러그인을 준비하려고합니다. 그러나 현재 제안 된 방식에서는 거의 항상 QML 응용 프로그램에 C++ 래퍼를 작성해야합니다. 나는이 예제를 다스 려 해요 : 내가 좋아하는 것 http://gstreamer.freedesktop.org/data/doc/gstreamer/head/qt-gstreamer/html/examples_2qmlplayer_2main_8cpp-example.htmlQML 및 QtGStreamer 플러그인 내
이 플러그인을 간단하게 쓸 수 있도록 :
import AwesomeVideoPlugin 1.0
Rect
{
AwesomeVideo
{
width: 320
height: 240
url: "./myvideo.avi"
// ... some minor stuff like mouse click handling, controls, etc.
}
}
현재 QtGStreamer는 VideoItem에 videoSurface 속성을 제공해야합니다. 이렇게하는 유일한 방법은 rootContext()에서 추가 속성에 대한 컨텍스트를 만들고 설정하는 것입니다. 그리고 GraphicsVideoSurface를 만들려면 QGraphicsView가 필요합니다 (QDeclarativeView가이 역할을 수행합니다).
그것은 할 수 있습니다 : QDeclarativeItem 내에서가져 QDeclarativeView가 나중에 GraphicsVideoSurface을 공급하는 데 사용할 수있는 방법으로 (이에 내가 QML 플러그인 만 액세스 할 수 있습니다)? 내 추측은 아니지만 - QFraphicsItem :: scene() ==>QGraphScene ==> QGraphicsView의 QList - QGraphicsView의 QList - 매우 나쁜 프로그래밍처럼 보이지만 어쩌면 누군가가 그것을 얻었습니다 (나는 segfault를 얻고있다)
QDeclarativeItem에서 QtGStreamer를위한 비디오 싱크를 제공하는 다른 방법이 있습니까?
Greetz
Yatsa