gnomemm r1941 - in gstreamermm/trunk: . tools/extra_defs_gen



Author: jaalburqu
Date: Sun Jan  4 03:30:06 2009
New Revision: 1941
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1941&view=rev

Log:
2009-01-03  Josà Alburquerque  <jaalburqu svn gnome org>

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Changed so
	that plug-in constructors avert the GstObject floating reference.
	Setting properties of bins to a plug-in with a floating reference (as
	is done in the media player example) causes warnings when the
	plug-in's RefPtr goes out of scope  because the referencing is not
	right because of the floating reference.

Modified:
   gstreamermm/trunk/ChangeLog
   gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc

Modified: gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc
==============================================================================
--- gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc	(original)
+++ gstreamermm/trunk/tools/extra_defs_gen/generate_plugin_gmmproc_file.cc	Sun Jan  4 03:30:06 2009
@@ -529,11 +529,21 @@
 
   std::cout << cppTypeName << "::" << cppTypeName << "()" << std::endl;
   std::cout << ": _CONSTRUCT(\"name\", NULL)" << std::endl;
-  std::cout << "{}" << std::endl << std::endl;
+  std::cout << "{" << std::endl;
+  std::cout << "  //The floating reference is convenience for C," << std::endl;
+  std::cout << " //but is useless and difficult for us:" << std::endl;
+  std::cout << " gst_object_ref(gobj());" << std::endl;
+  std::cout << " gst_object_sink(gobj());" << std::endl;
+  std::cout << "}" << std::endl << std::endl;
 
   std::cout << cppTypeName << "::" << cppTypeName << "(const Glib::ustring& name)" << std::endl;
   std::cout << ": _CONSTRUCT(\"name\", name.c_str())" << std::endl;
-  std::cout << "{}" << std::endl;
+  std::cout << "{" << std::endl;
+  std::cout << "  //The floating reference is convenience for C," << std::endl;
+  std::cout << " //but is useless and difficult for us:" << std::endl;
+  std::cout << " gst_object_ref(gobj());" << std::endl;
+  std::cout << " gst_object_sink(gobj());" << std::endl;
+  std::cout << "}" << std::endl << std::endl;
 
   std::cout << std::endl << "}" << std::endl;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]