Hi, <div><br></div><div>I have found out the issue for the behavior said in previous mail. </div><div><br></div><div>Here is the problem.</div><div> -> GSTREAMER: My gstreamer plugins are linked against, libgstreamer-0.10<b>-0</b>.dll and libgstbase-0.10<b>-0.dll</b> and etc.(please note <b>-0.dll</b>).</div>
<div> -> 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).</div>
<div><br></div><div>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. </div><div><br></div><div>While running gst-launch, libgstreamer-0.10-0.dll is loaded and the first loaded plugin registers the "Gstobject" successfully. </div>
<div>gstelement.c:</div><div><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><b><span style="color:#808000"> static</span><span style="color:#c0c0c0"> </span></b><span style="color:#808000">volatile</span><span style="color:#c0c0c0"> </span>gsize<span style="color:#c0c0c0"> </span>gst_element_type<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span><span style="color:#000080">0</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0"> </span><span style="color:#808000">if</span><span style="color:#c0c0c0"> </span>(g_once_init_enter<span style="color:#c0c0c0"> </span>(&gst_element_type))<span style="color:#c0c0c0"> </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"> .... </pre><pre style="margin-top:0px;margin-bottom:0px"> _type<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>g_type_register_static<span style="color:#c0c0c0"> </span>(GST_TYPE_OBJECT,<span style="color:#c0c0c0"> </span><span style="color:#008000">"GstElement"</span>,</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><font face="arial, helvetica, sans-serif">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. </font></pre>
</pre></div><div><br></div><div><b>Fix:</b></div><div> Made sure that .lib files are referencing the correct .dll files. </div><div><div><i> lib /def:libgstreamer-0.10.def /out:gstreamer-0.10.lib /machine:x86 /name:libgstreamer-0.10-0.dll</i></div>
</div><div><i> </i>I could able to run gst-launch successfully.</div><div><br></div><div>After unblocking this one, I have landed on another.</div><div>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!</div>
<div><br></div><div>Thanks </div><div>Dinesh P</div><div><br></div><div><div class="gmail_quote">On Sat, Aug 18, 2012 at 1:45 AM, Dinesh Kumar <span dir="ltr"><<a href="mailto:dineshkpadmanaban@gmail.com" target="_blank">dineshkpadmanaban@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes both are built with the same glib. Let me dig into this further. Thanks for your help.<div><br></div><div>Regards</div>
<div>Dinesh P</div><div class="HOEnZb"><div class="h5"><div><br><br><div class="gmail_quote">On Sat, Aug 18, 2012 at 1:13 AM, David Hoyt <span dir="ltr"><<a href="mailto:dhoyt@hoytsoft.org" target="_blank">dhoyt@hoytsoft.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">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...<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Dinesh Kumar [mailto:<a href="mailto:dineshkpadmanaban@gmail.com" target="_blank">dineshkpadmanaban@gmail.com</a>] <br>
<b>Sent:</b> Friday, August 17, 2012 12:39 PM<br><b>To:</b> Discussion of the development of and with GStreamer; <a href="mailto:dhoyt@hoytsoft.org" target="_blank">dhoyt@hoytsoft.org</a></span></p><div><div><br>
<b>Subject:</b> Re: qtgstreamer build issues - Win32<u></u><u></u></div></div><p></p></div><div><div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Hi David,<u></u><u></u></p><div><p class="MsoNormal">
<u></u> <u></u></p></div><div><p class="MsoNormal">Thank you very much for your help. I have deleted the registry and tried the same. The results are same. <u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p>
</div><div><p class="MsoNormal">I have one strange observation. <u></u><u></u></p></div><div><p class="MsoNormal"> - When there is no <b>gstqtvideosink(qt gstreamer element) </b>in the plugin folder, gst-launch and gst-inspect(displays all the plugins) works as expected. <u></u><u></u></p>
</div><div><p class="MsoNormal"> - When the gstqtvideosink is present in the plugin folder, gst-launch and gst-inspect throw those errors. <u></u><u></u></p></div><div><div><p class="MsoNormal"> <u></u><u></u></p>
</div></div><div><p class="MsoNormal"> <b>The moment i remove the gstqtvideosink from the plugin folder, gst-launch and gst-inspect works as expected. </b>I think this is enough to confirm the issue is with qtgstreamer build not the glib/gobject ? Can you please confirm. <u></u><u></u></p>
</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Thanks<u></u><u></u></p></div><div><p class="MsoNormal">Dinesh P<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p><div>
<p class="MsoNormal">On Fri, Aug 17, 2012 at 11:56 PM, David Hoyt <<a href="mailto:dhoyt@hoytsoft.org" target="_blank">dhoyt@hoytsoft.org</a>> wrote:<u></u><u></u></p><div><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">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?<br>
<br>I would first delete the registry and try again. Look for it in C:\Users\<account>\.gstreamer-0.10\registry.i586.bin or something like that IIRC. I might also try and use the gstreamer SDK, copy the qt gstreamer plugins into the plugin folder (typically <installation dir>\lib\gstreamer-0.10\ IIRC), their dependencies to the bin\ folder, delete the registry file, and try again. That could help isolate whether the problem is your glib/gstreamer build or the qt gstreamer build.<br>
<br>But really, the fact that it’s failing on registering “GstObject” is a major problem and something doesn’t smell right.<br><br>HTH,<br>- David Hoyt</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> gstreamer-devel-bounces+dhoyt=<a href="mailto:hoytsoft.org@lists.freedesktop.org" target="_blank">hoytsoft.org@lists.freedesktop.org</a> [mailto:<a href="mailto:gstreamer-devel-bounces%2Bdhoyt" target="_blank">gstreamer-devel-bounces+dhoyt</a>=<a href="mailto:hoytsoft.org@lists.freedesktop.org" target="_blank">hoytsoft.org@lists.freedesktop.org</a>] <b>On Behalf Of </b>Dinesh Kumar<br>
<b>Sent:</b> Friday, August 17, 2012 5:28 AM<br><b>To:</b> <a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br><b>Subject:</b> Re: qtgstreamer build issues - Win32</span><u></u><u></u></p>
</div><div><div><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">Hi, <u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">I have few more pointers to add<u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal"> -> 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 :(. <u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal"> -> After building gstqtvideosink successfully, I observed a strange behaviour. <u></u><u></u></p></div><div><p class="MsoNormal"> When I try to run player.exe I got the below errors.<u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-GObject-WARNING **: cannot register existing type `GstObject'</i><u></u><u></u></p></div><div><p class="MsoNormal">
<i>(player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed</i><u></u><u></u></p></div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed</i><u></u><u></u></p>
</div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed</i><u></u><u></u></p></div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed</i><u></u><u></u></p>
</div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed</i><u></u><u></u></p></div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed</i><u></u><u></u></p>
</div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed</i><u></u><u></u></p></div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed</i><u></u><u></u></p>
</div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed\</i><u></u><u></u></p></div><div><p class="MsoNormal"><i>(player.exe:4632): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed</i><u></u><u></u></p>
</div><div><p class="MsoNormal"><i>(player.exe:4632): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed</i><u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p>
</div></div><div><p class="MsoNormal"> -> Then I tried running gst-launch.exe, I got the below errors. <u></u><u></u></p></div><div><p class="MsoNormal"><i>(gst-launch-0.10:592): GLib-GObject-WARNING **: cannot register existing type `GstObject'</i><u></u><u></u></p>
</div><div><div><p class="MsoNormal"><i>(gst-launch-0.10:592): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed</i><u></u><u></u></p></div><div><p class="MsoNormal"><i>(gst-launch-0.10:592): GLib-GObject-CRITICAL **: g_type_register_static: assertion `parent_type > 0' failed</i><u></u><u></u></p>
</div><div><p class="MsoNormal"><i>(gst-launch-0.10:592): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0' failed</i><u></u><u></u></p></div><div><p class="MsoNormal"><i>(gst-launch-0.10:592): GStreamer-CRITICAL **: gst_element_register: assertion `g_type_is_a (type, GST_TYPE_ELEMENT)' failed</i><u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal"><b> -> If I remove the "gstqtvideosink" from gst_plugin_path, I can able to run the gst-launch successfully. </b><u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal"> -> I think, there is some issue with the "gstqtvideosink". <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p>
</div><div><p class="MsoNormal">I am using qtgstreamer-0.10.2. I am new to windows development environment. Your pointers could be of great help to me. <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p>
</div><div><p class="MsoNormal">Regards<u></u><u></u></p></div><div><p class="MsoNormal">Dinesh P<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">
On Thu, Aug 16, 2012 at 6:21 PM, Dinesh Kumar <<a href="mailto:dineshkpadmanaban@gmail.com" target="_blank">dineshkpadmanaban@gmail.com</a>> wrote:<u></u><u></u></p><p class="MsoNormal">Hi, <u></u><u></u></p><div><p class="MsoNormal">
<u></u><u></u></p></div><div><p class="MsoNormal">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. <u></u><u></u></p></div><div><p class="MsoNormal">
<u></u><u></u></p></div><div><p class="MsoNormal">I have compiled gstreamer for win32 following the procedure <a href="http://gstreamer.freedesktop.org/wiki/BuildGStreamerWithMinGWAndMsys" target="_blank">http://gstreamer.freedesktop.org/wiki/BuildGStreamerWithMinGWAndMsys</a><u></u><u></u></p>
</div><div><p class="MsoNormal">I have used precompiled binaries for all the packages, except gstreamer as I have modified the source. <u></u><u></u></p></div><div><p class="MsoNormal">I can able to run gst-launch successfully.<u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">I have compiled qtgstreamer following the procedure <a href="http://gstreamer.freedesktop.org/wiki/QtGStreamer/BuildingOnWindows" target="_blank">http://gstreamer.freedesktop.org/wiki/QtGStreamer/BuildingOnWindows</a>. 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. <u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">When I try to run qtgstreamer examples (player, recorder, voip), I get following errors. <u></u><u></u></p></div><div><p class="MsoNormal">
<u></u><u></u></p></div><div><div><p class="MsoNormal"><i>(player.exe:4232): GLib-GObject-WARNING **: cannot register existing type `GstOject'</i><u></u><u></u></p></div><div><p class="MsoNormal"><i>(player.exe:4232): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed</i><u></u><u></u></p>
</div><div><p class="MsoNormal"><i>(player.exe:4232): GLib-GObject-CRITICAL **: g_type_register_static: assertionparent_type > 0' failed</i><u></u><u></u></p></div><div><p class="MsoNormal"><i>(player.exe:4232): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0'failed</i><u></u><u></u></p>
</div><div><p class="MsoNormal"><i>(player.exe:4232): GLib-GObject-WARNING **: interface type `GstImplementsInterfce' or prerequisite type `<invalid>' invalid</i><u></u><u></u></p></div></div><div><p class="MsoNormal">
<u></u><u></u></p></div><div><p class="MsoNormal">I double checked that GST_PLUGIN_PATH is set correct. I have also cross checked by successfully launching gst-launch on the same shell. <u></u><u></u></p></div><div><p class="MsoNormal">
Please help me. Do I need to set anyother env variables? <u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Thanks<u></u><u></u></p></div><div><p class="MsoNormal">Dinesh P<u></u><u></u></p>
</div><div><p class="MsoNormal"> <u></u><u></u></p></div></div><p class="MsoNormal"> <u></u><u></u></p></div></div></div></div></div><p class="MsoNormal" style="margin-bottom:12.0pt"><br>_______________________________________________<br>
gstreamer-devel mailing list<br><a href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br><a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><u></u><u></u></p>
</div><p class="MsoNormal"><u></u> <u></u></p></div></div></div></div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>