Re: Porting perl-GStreamer to gst 1.0

Was working on this more last night and commented most of the Gst* libs out.  Haven't yet pushed those changes.

The plain Gst typelib is loaded, there's just a little trick to it:

    foreach my $name ('', ('Allocators', ...)) {
        my $basename = 'Gst' . $name;
        my $pkg      = $name
            ? 'Gst::' . $name
            : 'Gst';

That initial empty string in the foreach loop will end up building $basename and $pkg as 'Gst'.  I should probably comment that.

Ed> If the CPAN GStreamer doesn’t work properly now, then it ought to be clobbered?

That's the thing--it works fine as far as it goes. It's just compiled against a deprecated version of the API (0.10), and there's no straightforward way to compile it against the new stuff (1.0).

Given the precedent set by Gtk2 and the like, I think making it GStreamer1 will be fine.


On Fri, Nov 14, 2014 at 2:33 AM, "Torsten Schönfeld" <kaffeetisch gmx de> wrote:
"Timm Murray" <tmurray wumpus-cave net>:
> I've made a full module out of it as Gst::*.  I'm open to suggestions on the namespace; I don't necessarily want to clobber the existing
> GStreamer module on CPAN.  I thought maybe doing GStreamer10, but putting the version in the namespace doesn't seem right, either.

I agree that we should not reuse the "GStreamer" namespace, as people might still expect and rely on it to refer to 0.x bindings.  There's ample precedence of including the major version number in the namespace (Gtk2, Gtk3, Gnome2, etc.).  I don't think it's necessary to include the minor version in the namespace, as libgstreamer promises API stability in 1.x.  So I'd suggest "GStreamer1".

In your current module you unconditionally call Glib::Object::Introspection->setup for many typelibs which might not be installed on all systems.  The call will throw an exception in this case, which you should probably trap at least for the optional typelibs.  Also, you don't seem to be loading the base 'Gst-1.0' typelib, but it probably gets pulled in by the others.
gtk-perl-list mailing list
gtk-perl-list gnome org

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