[gstreamer-bugs] [Bug 604965] Gst.Application.GstResolveType is useless, or just very slow at best
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Sun Dec 27 20:42:24 PST 2009
https://bugzilla.gnome.org/show_bug.cgi?id=604965
GStreamer | gst-sharp | git
--- Comment #10 from Sebastian Dröge <slomo at circular-chaos.org> 2009-12-27 09:25:06 UTC ---
I'll look at those patches in detail in the next days. Good work though :)
Here are some small comments...
(In reply to comment #6)
> Because GType.LookupType first tries to resolve using the ResolveType delegate
> and only then uses GetQualifiedName (which succeedes for Bus and Message) to
> lookup a type, the types need to be registered manually to avoid getting
> GstResolveType called for them.
Oh, my original patch to gtk-sharp did it the other way around. Only call the
ResolveType delegate as a fallback. Hm, need to talk to Mike.
(In reply to comment #7)
> Note that it makes use of System.Collections.Generic, which is only supported
> in .NET 2.0 and later. Is this OK? If I recall correctly, gtk-sharp is dropping
> support for the .NET 1.1 profile, so I guess it would be OK.
Yes, that's fine. We're using 2.0 too already.
(In reply to comment #8)
> Created an attachment (id=150398)
View: https://bugzilla.gnome.org/attachment.cgi?id=150398
Review: https://bugzilla.gnome.org/review?bug=604965&attachment=150398
> Only call GetTypes() once for each assembly
>
> The 360ms for the first call to GstResolveType cannot be avoided without a
> completely different way of resolving plugin element types, as it is the time
> to call Assembly.GetTypes() on the gstreamer-sharp assembly.
Gst.Application.Init() could already call the GetTypes() I guess. It will take
a long time already anyway because of gst_init() and then it's a bit more
deterministic.
> For subsequent calls however, instead of searching all the type each time,
> another Dictionary can be used to speed this up. This patch reduces the time
> from the previously reported 70ms to ~1ms.
>
> In my usecase of just a simple PlayBin2 with a custom videosink it results in a
> noticably better response to pressing the play button.
~1ms sounds perfect, nobody can notice this without tools :) I don't think you
need to optimize that part more... but maybe call the first GetTypes() in
Gst.Application.Init() really :)
--
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