Hi to All!
I need imaging xvimagesink in my window (QT Widget). So, I write: #include <gst/video/videooverlay.h> ..... geVideoOut = gst_element_factory_make("xvimagesink", "video out1"); g_assert(geVideoOut); .... gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(geVideoOut), window_id); And I have next errors: -- undefined reference to `gst_video_overlay_get_type' -- undefined reference to `gst_video_overlay_set_window_handle' When I was searching solution, I saw that body of this function been in file "videoverlay.c", but this file didn't install with "gst-plugins-base-0.11.92", only header ("videoverlay.h") installed. When I added "videoverlay.c" in my project, compiling completed, but appeared another error: -- GLib-GObject-WARNING **: cannot register existing type `GstVideoOverlay' So what I do wrong? I use last gstreamer version (11.92), programming in QT Creator, OS Debian 7 x64 I tried install gstreamer use aptitude and tried install use 'hands' (./configure + make + make install). |
On Mon, 2012-07-16 at 07:44 -0700, rasnaut wrote:
> Hi, > I need imaging xvimagesink in my window (QT Widget). So, I write: > > #include <gst/video/videooverlay.h> > > ..... > > geVideoOut = gst_element_factory_make("xvimagesink", "video out1"); > g_assert(geVideoOut); > > .... > > gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(geVideoOut), > window_id); > > And I have next errors: > -- undefined reference to `gst_video_overlay_get_type' > -- undefined reference to `gst_video_overlay_set_window_handle' This means you did not actually link your application to libgstvideo-1.0 > When I was searching solution, I saw that body of this function been in file > "videoverlay.c", but this file didn't install with > "gst-plugins-base-0.11.92", only header ("videoverlay.h") installed. > When I added "videoverlay.c" in my project, compiling completed, but > appeared another error: > -- GLib-GObject-WARNING **: cannot register existing type `GstVideoOverlay' > > So what I do wrong? That's not how it works. You do not have to copy any .c files into your project. The .h file tells the compiler what functions GStreamer makes avilable in various libraries, and how to call them. You then link to the GStreamer libraries you need to use that functionality. For the includes (compiler/preprocessor flags): pkg-config --cflags gstreamer-video-1.0 For the libraries (to link against): pkg-config --libs gstreamer-video-1.0 Cheers -Tim _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thank you very much. All compiled, all working. But... You don't know how I can set imaging at window after start gstreamer? My program write video from multiple channels. For rapid computer operation, when program started, video is writing without preview. So I want that user can push button and watch preview of one channel (with sound)))). But function "gst_video_overlay_set_window_handle" cannot do it, because it must be called before pipline start work. Maybe, you know any function, which can do it?
Thank you. |
Free forum by Nabble | Edit this page |