Hi,
I am not sure, if this is the right forum for this question. I could not find any other related forum for qtgstreamer related queries. I have compiled gstreamer for win32 following the procedure http://gstreamer.freedesktop.org/wiki/BuildGStreamerWithMinGWAndMsys
I have used precompiled binaries for all the packages, except gstreamer as I have modified the source. I can able to run gst-launch successfully. I have compiled qtgstreamer following the procedure http://gstreamer.freedesktop.org/wiki/QtGStreamer/BuildingOnWindows. I had issues in CMake finding my gstreamer installation path, since msys environment build system did not generate .lib files. I have generated .def and .lib using "dumpbin" and "lib" tools and compiled qtgstreamer successfully.
When I try to run qtgstreamer examples (player, recorder, voip), I get following errors. (player.exe:4232): GLib-GObject-WARNING **: cannot register existing type `GstOject'
(player.exe:4232): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4232): GLib-GObject-CRITICAL **: g_type_register_static: assertionparent_type > 0' failed
(player.exe:4232): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4232): GLib-GObject-WARNING **: interface type `GstImplementsInterfce' or prerequisite type `<invalid>' invalid
I double checked that GST_PLUGIN_PATH is set correct. I have also cross checked by successfully launching gst-launch on the same shell. Please help me. Do I need to set anyother env variables?
Thanks Dinesh P _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi,
I have few more pointers to add -> There were some errors in my qtgstreamer build. (gstqtvideosink did not get build). I think this is the cause for the error mentioned in the previous mail. I have overlooked the errors, as Cmake and MSVC successfully created the player.exe and other binaries :(.
-> After building gstqtvideosink successfully, I observed a strange behaviour. When I try to run player.exe I got the below errors. (player.exe:4632): GLib-GObject-WARNING **: cannot register existing type `GstObject'
(player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed
(player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed
(player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed
(player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed
(player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed\ (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed
(player.exe:4632): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed -> Then I tried running gst-launch.exe, I got the below errors.
(gst-launch-0.10:592): GLib-GObject-WARNING **: cannot register existing type `GstObject' (gst-launch-0.10:592): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
(gst-launch-0.10:592): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (gst-launch-0.10:592): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed
(gst-launch-0.10:592): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed -> If I remove the "gstqtvideosink" from gst_plugin_path, I can able to run the gst-launch successfully.
-> I think, there is some issue with the "gstqtvideosink". I am using qtgstreamer-0.10.2. I am new to windows development environment. Your pointers could be of great help to me.
Regards Dinesh P On Thu, Aug 16, 2012 at 6:21 PM, Dinesh Kumar <[hidden email]> wrote: Hi, _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Seems like either an issue with your glib build or your gstreamer build. But you said that gst-launch ran successfully. Were you able to run gst-inspect? If so, did it list out all the plugins? From: gstreamer-devel-bounces+dhoyt=[hidden email] [mailto:gstreamer-devel-bounces+dhoyt=[hidden email]] On Behalf Of Dinesh Kumar Hi, I have few more pointers to add -> There were some errors in my qtgstreamer build. (gstqtvideosink did not get build). I think this is the cause for the error mentioned in the previous mail. I have overlooked the errors, as Cmake and MSVC successfully created the player.exe and other binaries :(. -> After building gstqtvideosink successfully, I observed a strange behaviour. When I try to run player.exe I got the below errors. (player.exe:4632): GLib-GObject-WARNING **: cannot register existing type `GstObject' (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed\ (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed -> Then I tried running gst-launch.exe, I got the below errors. (gst-launch-0.10:592): GLib-GObject-WARNING **: cannot register existing type `GstObject' (gst-launch-0.10:592): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (gst-launch-0.10:592): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (gst-launch-0.10:592): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (gst-launch-0.10:592): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed -> If I remove the "gstqtvideosink" from gst_plugin_path, I can able to run the gst-launch successfully. -> I think, there is some issue with the "gstqtvideosink". I am using qtgstreamer-0.10.2. I am new to windows development environment. Your pointers could be of great help to me. Regards Dinesh P On Thu, Aug 16, 2012 at 6:21 PM, Dinesh Kumar <[hidden email]> wrote: Hi, I am not sure, if this is the right forum for this question. I could not find any other related forum for qtgstreamer related queries. I have compiled gstreamer for win32 following the procedure http://gstreamer.freedesktop.org/wiki/BuildGStreamerWithMinGWAndMsys I have used precompiled binaries for all the packages, except gstreamer as I have modified the source. I can able to run gst-launch successfully. I have compiled qtgstreamer following the procedure http://gstreamer.freedesktop.org/wiki/QtGStreamer/BuildingOnWindows. I had issues in CMake finding my gstreamer installation path, since msys environment build system did not generate .lib files. I have generated .def and .lib using "dumpbin" and "lib" tools and compiled qtgstreamer successfully. When I try to run qtgstreamer examples (player, recorder, voip), I get following errors. (player.exe:4232): GLib-GObject-WARNING **: cannot register existing type `GstOject' (player.exe:4232): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4232): GLib-GObject-CRITICAL **: g_type_register_static: assertionparent_type > 0' failed (player.exe:4232): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4232): GLib-GObject-WARNING **: interface type `GstImplementsInterfce' or prerequisite type `<invalid>' invalid I double checked that GST_PLUGIN_PATH is set correct. I have also cross checked by successfully launching gst-launch on the same shell. Please help me. Do I need to set anyother env variables? Thanks Dinesh P _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi David,
Thank you very much for your help. I have deleted the registry and tried the same. The results are same. I have one strange observation. - When there is no gstqtvideosink(qt gstreamer element) in the plugin folder, gst-launch and gst-inspect(displays all the plugins) works as expected.
- When the gstqtvideosink is present in the plugin folder, gst-launch and gst-inspect throw those errors. The moment i remove the gstqtvideosink from the plugin folder, gst-launch and gst-inspect works as expected. I think this is enough to confirm the issue is with qtgstreamer build not the glib/gobject ? Can you please confirm.
Thanks Dinesh P On Fri, Aug 17, 2012 at 11:56 PM, David Hoyt <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I agree that the qt gstreamer build appears suspect. What I’m unsure of is how it could get in the way of registering basic gobjects. Was the qt gstreamer build built against the same glib as gstreamer? If so, I’m not sure what to tell you without deep diving into the build... From: Dinesh Kumar [mailto:[hidden email]] Hi David, Thank you very much for your help. I have deleted the registry and tried the same. The results are same. I have one strange observation. - When there is no gstqtvideosink(qt gstreamer element) in the plugin folder, gst-launch and gst-inspect(displays all the plugins) works as expected. - When the gstqtvideosink is present in the plugin folder, gst-launch and gst-inspect throw those errors. The moment i remove the gstqtvideosink from the plugin folder, gst-launch and gst-inspect works as expected. I think this is enough to confirm the issue is with qtgstreamer build not the glib/gobject ? Can you please confirm. Thanks Dinesh P On Fri, Aug 17, 2012 at 11:56 PM, David Hoyt <[hidden email]> wrote: Seems like either an issue with your glib build or your gstreamer build. But you said that gst-launch ran successfully. Were you able to run gst-inspect? If so, did it list out all the plugins? From: gstreamer-devel-bounces+dhoyt=[hidden email] [mailto:[hidden email]=[hidden email]] On Behalf Of Dinesh Kumar Hi, I have few more pointers to add -> There were some errors in my qtgstreamer build. (gstqtvideosink did not get build). I think this is the cause for the error mentioned in the previous mail. I have overlooked the errors, as Cmake and MSVC successfully created the player.exe and other binaries :(. -> After building gstqtvideosink successfully, I observed a strange behaviour. When I try to run player.exe I got the below errors. (player.exe:4632): GLib-GObject-WARNING **: cannot register existing type `GstObject' (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed\ (player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4632): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed -> Then I tried running gst-launch.exe, I got the below errors. (gst-launch-0.10:592): GLib-GObject-WARNING **: cannot register existing type `GstObject' (gst-launch-0.10:592): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (gst-launch-0.10:592): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed (gst-launch-0.10:592): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed (gst-launch-0.10:592): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed -> If I remove the "gstqtvideosink" from gst_plugin_path, I can able to run the gst-launch successfully. -> I think, there is some issue with the "gstqtvideosink". I am using qtgstreamer-0.10.2. I am new to windows development environment. Your pointers could be of great help to me. Regards Dinesh P On Thu, Aug 16, 2012 at 6:21 PM, Dinesh Kumar <[hidden email]> wrote: Hi, I am not sure, if this is the right forum for this question. I could not find any other related forum for qtgstreamer related queries. I have compiled gstreamer for win32 following the procedure http://gstreamer.freedesktop.org/wiki/BuildGStreamerWithMinGWAndMsys I have used precompiled binaries for all the packages, except gstreamer as I have modified the source. I can able to run gst-launch successfully. I have compiled qtgstreamer following the procedure http://gstreamer.freedesktop.org/wiki/QtGStreamer/BuildingOnWindows. I had issues in CMake finding my gstreamer installation path, since msys environment build system did not generate .lib files. I have generated .def and .lib using "dumpbin" and "lib" tools and compiled qtgstreamer successfully. When I try to run qtgstreamer examples (player, recorder, voip), I get following errors. (player.exe:4232): GLib-GObject-WARNING **: cannot register existing type `GstOject' (player.exe:4232): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4232): GLib-GObject-CRITICAL **: g_type_register_static: assertionparent_type > 0' failed (player.exe:4232): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed (player.exe:4232): GLib-GObject-WARNING **: interface type `GstImplementsInterfce' or prerequisite type `<invalid>' invalid I double checked that GST_PLUGIN_PATH is set correct. I have also cross checked by successfully launching gst-launch on the same shell. Please help me. Do I need to set anyother env variables? Thanks Dinesh P
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Yes both are built with the same glib. Let me dig into this further. Thanks for your help.
Regards Dinesh P On Sat, Aug 18, 2012 at 1:13 AM, David Hoyt <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi,
I have found out the issue for the behavior said in previous mail. Here is the problem. -> GSTREAMER: My gstreamer plugins are linked against, libgstreamer-0.10-0.dll and libgstbase-0.10-0.dll and etc.(please note -0.dll).
-> QTGSTREAMER: I had to create gstreamer-0.10.lib, gstbase-0.10.lib, gstvideo-0.10.lib, gstinterfaces-0.10.lib to build the qtgstreamer. cmake "find_package" needed these files. The usage of above files made qtgstvideosink.dll to load libgstreamer-0.10.dll(which is not present in my PATH).
When I ran test applications, qtgstvideosink thrown error saying that libgstreamer-0.10.dll is not present. I had to create the symbolic link
libgstreamer-0.10.dll -> libgstreamer-0.10-0.dll. While running gst-launch, libgstreamer-0.10-0.dll is loaded and the first loaded plugin registers the "Gstobject" successfully.
gstelement.c: static volatile gsize gst_element_type = 0;if (g_once_init_enter (&gst_element_type)) {...._type = g_type_register_static (GST_TYPE_OBJECT, "GstElement",When "qtgstvideosink" is getting loaded, libgstreamer-0.10.dll(symbolic link of libsgtreamer-0.10-0.dll) is loaded in another memory region as a copy(Not sure why windows loads another copy for the symbolic links). Because of that, "GstObject" was trying to get registered for the second time. Hence those errors were thrown. Fix: Made sure that .lib files are referencing the correct .dll files. lib /def:libgstreamer-0.10.def /out:gstreamer-0.10.lib /machine:x86 /name:libgstreamer-0.10-0.dll
I could able to run gst-launch successfully. After unblocking this one, I have landed on another. When I try to run player.exe, I can run audio only files. When running files with audio and video, I could see nothing on the window (No audio and No video). A little of debugging tells that gstvideosink is initialized but "gst_video_sink_show_frame" is not getting invoked. Any pointers could be of great help!
Thanks Dinesh P On Sat, Aug 18, 2012 at 1:45 AM, Dinesh Kumar <[hidden email]> wrote: Yes both are built with the same glib. Let me dig into this further. Thanks for your help. _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |