[gstreamer-bugs] [Bug 604965] New: Gst.Application.GstResolveType is useless, or just very slow at best

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Dec 18 16:38:15 PST 2009


https://bugzilla.gnome.org/show_bug.cgi?id=604965
  GStreamer | gst-sharp | git

           Summary: Gst.Application.GstResolveType is useless, or just
                    very slow at best
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-sharp
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: mkbosmans at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


After helping Richard with his bug, I found that GstResolveType was a major
source for delay in my application. For example
ElementFactory.Make("dshowvideosink") takes 1700ms.

Moreover, I found that it never found a matching type and thus always returns
null, making it a useless excercise in assembly loading. It looks like it needs
GTypeNameAttribute present on elements, but that attribute is never used in the
gstreamer-sharp source.

Just removing Gst.GLib.GType.ResolveType += GstResolveType; from
RegisterManagedTypes reduced initialization and setup of the pipeline in my app
by 2 seconds.

Can you explain what the purpose of GstResolveType is? (a comment in the source
would even be great)

Except for slowness, I see two issues with the current code:
 -  the second Type[] ts = asm.GetTypes (); line should probably be Type[] ts =
ref_asm.GetTypes ();
 - Going only one level deep for referenced assemblies seems arbitrary and
should be extended to go recursively, or a comment added to explain the choice
made.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list