Dear all,
I need a suggestion if you don't mind. Firstly, I want to state that I have no experience in graphics framework of Wayland, X11, etc. I am a fresh learner.
Currently, I am trying to show video using GStreamer and paint it with GLES2.
My GStreamer pipeline is :
rtspsrc location=rtsp://192.168.1.102:554/axis-media/media.amp latency=150
! queue ! rtph264depay ! h264parse
! v4l2h264dec ! imxvideoconvert_g2d
! queue
! fakesink
Using handoff signals, I am trying to get the buffer and going to use it on openGL.
However, I cannot get the display and its context on wayland.
I am trying to adapt the idea on qglwtextureshare example of plugins-base-1.0, https://github.com/GStreamer/gst-plugins-base/blob/master/tests/examples/gl/qt/qglwtextureshare/qglr...
Please, check the initializeGL() function.
- How can we replace "(GstGLDisplay *) gst_gl_display_x11_new_with_display (QX11Info::display())" and "gst_gl_context_new_wrapped (display, (guintptr) glXGetCurrentContext (), GST_GL_PLATFORM_GLX, GST_GL_API_OPENGL);" for Wayland? How can we get display and context?
I would also appreciate any other suggestions.
Thanks
Dear Bio_TICFSL,
Firstly, thanks for the reply.
I don't actually know what amp is. It is the link for streaming from rtsp server on Axis ip camera.
I have no problem with displaying video via gst-launch-1.0 or cpp implementation of pipeline gst-1.0 api to a sink such as autovideosink, waylandsink or glimagesink. My actual problem is interfering with video buffers, I want to draw things just before or after every decoded frame, on top of the texture which shows video frames.
Hello spear_kor,
What is that file media.amp?, for gstreamer you can add this pipeline
gst-launch-1.0 filesrc location=jellyfish-20-mbps-hd-h264.mkv ! video/x-matroska ! aiurdemux ! \
queue ! h264parse ! v4l2h264dec ! imxvideoconvert_g2d ! queue ! waylandsink
and everything seems to work at 1080p h264.
You can see the video decoder supported with gst-inspect-1.0
Regards