Using playbin2

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Using playbin2

Jeffrey Barish
My code works fine with playbin.  When I change to playbin2 (by changing the
parameter in the element_factory_make call), the code no longer plays and I
get error messages on the bus.  The error message is

<GstGError at 0x8ecc390>, 'gstplaybin2.c(1783): pad_added_cb
(): /GstPlayBin2:player'

Can someone tell me what this error message means?  Is there something that
I am supposed to do to use playbin2 that I do not need to do with playbin?

This problem occurs with version 0.10.22.
--
Jeffrey Barish


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

thx1138
On 6/13/09 7:45 AM, "Jeffrey Barish" <[hidden email]> wrote:

> My code works fine with playbin.  When I change to playbin2 (by changing the
> parameter in the element_factory_make call), the code no longer plays and I
> get error messages on the bus.  The error message is
>
> <GstGError at 0x8ecc390>, 'gstplaybin2.c(1783): pad_added_cb
> (): /GstPlayBin2:player'
>
> Can someone tell me what this error message means?  Is there something that
> I am supposed to do to use playbin2 that I do not need to do with playbin?
>
> This problem occurs with version 0.10.22.
Hi Jeff ,

This is a note from Terry Shultz. I believe I am talking to a pal of mine
from some time back. John Snell and John Strawn are also pals of mine.

Do I have the right Jeffry?

Regards,

Terry Shultz


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Jeffrey Barish
In reply to this post by Jeffrey Barish
Jeffrey Barish wrote:

> My code works fine with playbin.  When I change to playbin2 (by changing
> the parameter in the element_factory_make call), the code no longer plays
> and I
> get error messages on the bus.  The error message is
>
> <GstGError at 0x8ecc390>, 'gstplaybin2.c(1783): pad_added_cb
> (): /GstPlayBin2:player'
>
> Can someone tell me what this error message means?  Is there something
> that I am supposed to do to use playbin2 that I do not need to do with
> playbin?
>
> This problem occurs with version 0.10.22.

Even though playbin2 is in base plugins, I eliminated this error by
installing gstreamer0.10-plugins-bad, which provides input-selector.
However, now GStreamer is terminating with a segmentation fault.
--
Jeffrey Barish


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

michael smith-6-3
On Sun, Jun 14, 2009 at 4:10 PM, Jeffrey
Barish<[hidden email]> wrote:

> Jeffrey Barish wrote:
>
>> My code works fine with playbin.  When I change to playbin2 (by changing
>> the parameter in the element_factory_make call), the code no longer plays
>> and I
>> get error messages on the bus.  The error message is
>>
>> <GstGError at 0x8ecc390>, 'gstplaybin2.c(1783): pad_added_cb
>> (): /GstPlayBin2:player'
>>
>> Can someone tell me what this error message means?  Is there something
>> that I am supposed to do to use playbin2 that I do not need to do with
>> playbin?
>>
>> This problem occurs with version 0.10.22.
>
> Even though playbin2 is in base plugins, I eliminated this error by
> installing gstreamer0.10-plugins-bad, which provides input-selector.
> However, now GStreamer is terminating with a segmentation fault.

Yeah, older versions of playbin2 required input-selector, which is in
-bad. Newer versions make it optional; it'll be moved to -base before
playbin2 is officially declared 'stable'.

As for the crash - well, you'll have to tell us where it's crashing
for us to be able to help you. However, I'd strongly suggest upgrading
to the current version first, if you can.

Mike

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Christopher Halse Rogers
In reply to this post by Jeffrey Barish
On Sat, 2009-06-13 at 08:45 -0600, Jeffrey Barish wrote:

> My code works fine with playbin.  When I change to playbin2 (by changing the
> parameter in the element_factory_make call), the code no longer plays and I
> get error messages on the bus.  The error message is
>
> <GstGError at 0x8ecc390>, 'gstplaybin2.c(1783): pad_added_cb
> (): /GstPlayBin2:player'
>
> Can someone tell me what this error message means?  Is there something that
> I am supposed to do to use playbin2 that I do not need to do with playbin?
>
> This problem occurs with version 0.10.22.
I've been learning how to use playbin2 in Banshee and have not seen this
problem.  It would probably be helpful to post the code in question, to
see if there's anything obvious to those better versed in playbin2's
eccentricities.

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

signature.asc (204 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Jeffrey Barish
In reply to this post by michael smith-6-3
On Sunday 14 June 2009 19:39:18 Michael Smith wrote:

> On Sun, Jun 14, 2009 at 4:10 PM, Jeffrey
>
> Barish<[hidden email]> wrote:
> > Jeffrey Barish wrote:
> >> My code works fine with playbin.  When I change to playbin2 (by changing
> >> the parameter in the element_factory_make call), the code no longer
> >> plays and I
> >> get error messages on the bus.  The error message is
> >>
> >> <GstGError at 0x8ecc390>, 'gstplaybin2.c(1783): pad_added_cb
> >> (): /GstPlayBin2:player'
> >>
> >> Can someone tell me what this error message means?  Is there something
> >> that I am supposed to do to use playbin2 that I do not need to do with
> >> playbin?
> >>
> >> This problem occurs with version 0.10.22.
> >
> > Even though playbin2 is in base plugins, I eliminated this error by
> > installing gstreamer0.10-plugins-bad, which provides input-selector.
> > However, now GStreamer is terminating with a segmentation fault.
>
> Yeah, older versions of playbin2 required input-selector, which is in
> -bad. Newer versions make it optional; it'll be moved to -base before
> playbin2 is officially declared 'stable'.
>
> As for the crash - well, you'll have to tell us where it's crashing
> for us to be able to help you. However, I'd strongly suggest upgrading
> to the current version first, if you can.

I created a test program to illustrate the problem.  The test program works
unless I put a sleep(1.0) in the gobject loop.  (I run the gobject loop
manually so that I can perform some additional operations each iteration.)  
That discovery got me thinking about the possibility that delays in my
gobject loop were causing the problem.  I tried disabling the additional
commands once GStreamer is playing (so that the only extra statement in the
loop is the get_state).  The program then works.  It seems that the problem
has to do with punctuality in dealing with the about-to-finish message.  With
the additional commands disabled, if I have the loop sleep for a reasonable
time (e.g., 50 ms), the program seg faults.  I have to reduce the sleep
to 1 us before it stops seg faulting.  Is it possible that the timing in
playbin2 is really this critical?  I have to read a socket, so I don't see a
way to get the loop this tight -- not to mention the load on the system if
the loop has to buzz this quickly (which goes to 100%).  Doing a blocking
context iteration is normally the right solution, but then the loop loses
track of the sockets.  I suppose that I am going to have to find a solution
using multithreading so that the sockets are monitored in a loop separate
from gobject.  I am still wondering about two things: (1) Is a seg fault the
right thing to happen when handling of the about-to-finish message is tardy?  
I would have expected playbin2 to behave as it does when one is not
monitoring about-to-finish, i.e., the buffer empties and we get an EOS
message.  (2) I may be misinterpreting my findings, but it seems as if the
time remaining in the buffer when the about-to-finish message is sent is
about 1 us.  Shouldn't the message be sent sooner?

I could post my test program if doing so would be helpful.


As for running the latest version, I tried to make 0.10.23.  I got close.  
After making gobject, gstreamer was still finding the old gobject (the one
provided by Ubuntu for running Gnome).  A message advised that I remove the
old one, but had I done so all of Gnome would have been removed.  The basic
problem is that I don't know what I'm doing.  I bet there's a way to tell
configure where to find the right gobject.  I upgraded to Ubuntu 9.04 to get
version 0.10.22.
--
Jeffrey Barish

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Jeffrey Barish
In reply to this post by Christopher Halse Rogers
Christopher James Halse Rogers wrote:
> I've been learning how to use playbin2 in Banshee and have not seen this
> problem.  It would probably be helpful to post the code in question, to
> see if there's anything obvious to those better versed in playbin2's
> eccentricities.

Most people are probably using the run method of gobject.MainLoop.  I can't
because I have to monitor other events in the gobject loop.  I bet that's
why you haven't seen this problem.  I am posting the code, as you
suggested, in the hope that someone can suggest a simple solution.  I'll be
thinking about whether there is a solution using multithreading.

"""Test of playbin2.  Provide two soundfiles as arguments on the command
line."""

import sys, time
import gobject
import gst

class Main:
    def __init__(self):
        self.player = gst.element_factory_make("playbin2", "player")
        self.player.set_property("volume", 0.1)
        bus = self.player.get_bus()
        bus.add_signal_watch()
        bus.connect("message", self.on_message)
        self.player.connect('about-to-finish', self.on_about_to_finish)

    def on_message(self, bus, message):
        t = message.type
        if t == gst.MESSAGE_EOS:
            self.player.set_state(gst.STATE_NULL)
        elif t == gst.MESSAGE_ERROR:
            self.player.set_state(gst.STATE_NULL)
            err, debug = message.parse_error()
            print "Error: %s" % err, debug

    def on_about_to_finish(self, playbin):
        self.player.set_property("uri", "file://" + sys.argv[2])

    def start(self):
        filename = sys.argv[1]
        self.player.set_property("uri", "file://" + filename)
        self.player.set_state(gst.STATE_PLAYING)

        loop = gobject.MainLoop()
        context = loop.get_context()

        # If the loop sleeps longer than 1 us (e.g., 2 us), GStreamer
        # seg faults. However, such a short sleep results in a CPU load
        # of 100%.  Blocking works, but then it is not possible to monitor
        # other events (not shown, but simulated with the sleep).
        while True:
            while context.pending():
                context.iteration(False)
            # Monitor sockets here.
            time.sleep(0.000001)
        #may_block = True
        #while True:
            #context.iteration(may_block)

player = Main()
player.start()
--
Jeffrey Barish


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

michael smith-6-3
In reply to this post by Jeffrey Barish
>
> I created a test program to illustrate the problem.  The test program works
> unless I put a sleep(1.0) in the gobject loop.  (I run the gobject loop
> manually so that I can perform some additional operations each iteration.)
> That discovery got me thinking about the possibility that delays in my
> gobject loop were causing the problem.  I tried disabling the additional
> commands once GStreamer is playing (so that the only extra statement in the
> loop is the get_state).  The program then works.  It seems that the problem
> has to do with punctuality in dealing with the about-to-finish message.  With
> the additional commands disabled, if I have the loop sleep for a reasonable
> time (e.g., 50 ms), the program seg faults.  I have to reduce the sleep
> to 1 us before it stops seg faulting.  Is it possible that the timing in
> playbin2 is really this critical?  I have to read a socket, so I don't see a
> way to get the loop this tight -- not to mention the load on the system if
> the loop has to buzz this quickly (which goes to 100%).  Doing a blocking
> context iteration is normally the right solution, but then the loop loses
> track of the sockets.  I suppose that I am going to have to find a solution
> using multithreading so that the sockets are monitored in a loop separate
> from gobject.  I am still wondering about two things: (1) Is a seg fault the
> right thing to happen when handling of the about-to-finish message is tardy?
> I would have expected playbin2 to behave as it does when one is not
> monitoring about-to-finish, i.e., the buffer empties and we get an EOS
> message.  (2) I may be misinterpreting my findings, but it seems as if the
> time remaining in the buffer when the about-to-finish message is sent is
> about 1 us.  Shouldn't the message be sent sooner?

It is, of course, not normal for it to crash in this case. However,
since you're the only one that has mentioned this particular problem,
AND you're using an out of date version, I again strongly recommend
upgrading - if it still crashes then, please file a bug and we'll fix
it.

The about-to-finish signal is emitted much sooner than 1us before EOS
normally; I don't know what you're doing to see that behaviour.




>
> I could post my test program if doing so would be helpful.
>
>
> As for running the latest version, I tried to make 0.10.23.  I got close.
> After making gobject, gstreamer was still finding the old gobject (the one
> provided by Ubuntu for running Gnome).  A message advised that I remove the
> old one, but had I done so all of Gnome would have been removed.  The basic
> problem is that I don't know what I'm doing.  I bet there's a way to tell
> configure where to find the right gobject.  I upgraded to Ubuntu 9.04 to get
> version 0.10.22.

Updating glib is not needed; just build gstreamer (and the gstreamer plugins).

Mike

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Help with app for alsa

Guilherme Raymo Longo
In reply to this post by Jeffrey Barish
Hey mates, does anyway ever written a software for alsa. I am trying to
build a simple program to send a sine wave to the speakers using alsa
API and I get a error saying that the device is busy. If I use alsasink
I get everything working fine.

Does anyone could gimme some pvt advice 'cause I know this is not the
scope of this list.

Thanks..!

Tks!

-------------------

Guilherme Longo
Dept. Eng. da Computação
Unaerp

Linux User - #484927

*Before Asking
http://www.istf.com.br/?page=perguntas

!- I'd rather die on my feet than live on my knees -!



------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Jeffrey Barish
In reply to this post by michael smith-6-3
Michael Smith wrote:

> Updating glib is not needed; just build gstreamer (and the gstreamer
> plugins).

So, I tried again.  You say that glib is not needed, but here's the error
message I get from configure:

configure: No package 'glib-2.0' found
No package 'gobject-2.0' found
No package 'gthread-2.0' found
No package 'gmodule-no-export-2.0' found
configure: error: This package requires GLib >= 2.14 to compile.

Obviously, glib and gobject, at least, are present because Gnome uses them.
Jaunty comes with glib 2.20, so the version is not the issue.
--
Jeffrey Barish


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

michael smith-6-3
On Tue, Jun 16, 2009 at 1:06 PM, Jeffrey
Barish<[hidden email]> wrote:
> Michael Smith wrote:
>
>> Updating glib is not needed; just build gstreamer (and the gstreamer
>> plugins).
>
> So, I tried again.  You say that glib is not needed, but here's the error
> message I get from configure:

I said that _updating_ glib isn't needed, not that glib isn't needed.

You're probably missing devel packages.

Mike

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Jeffrey Barish
Michael Smith wrote:

> On Tue, Jun 16, 2009 at 1:06 PM, Jeffrey
> Barish<[hidden email]> wrote:
>> Michael Smith wrote:
>>
>>> Updating glib is not needed; just build gstreamer (and the gstreamer
>>> plugins).
>>
>> So, I tried again.  You say that glib is not needed, but here's the error
>> message I get from configure:
>
> I said that _updating_ glib isn't needed, not that glib isn't needed.
>
> You're probably missing devel packages.

I was able to make gstreamer.  gst-python-0.10.15, however, fails with:

Making all in extend
Traceback (most recent call last):
  File "../codegen/codegen.py", line 1574, in <module>
    sys.exit(main(sys.argv))
  File "../codegen/codegen.py", line 1531, in main
    o = override.Overrides(arg, path=extendpath)
  File "/home/jeffbarish/gstreamer/gst-python-0.10.15/codegen/override.py",
line 49, in __init__
    self.handle_file(filename)
  File "/home/jeffbarish/gstreamer/gst-python-0.10.15/codegen/override.py",
line 92, in handle_file
    self.__parse_override(buf, startline, filename)
  File "/home/jeffbarish/gstreamer/gst-python-0.10.15/codegen/override.py",
line 174, in __parse_override
    self.handle_file(filename)
  File "/home/jeffbarish/gstreamer/gst-python-0.10.15/codegen/override.py",
line 92, in handle_file
    self.__parse_override(buf, startline, filename)
  File "/home/jeffbarish/gstreamer/gst-python-0.10.15/codegen/override.py",
line 174, in __parse_override
    self.handle_file(filename)
  File "/home/jeffbarish/gstreamer/gst-python-0.10.15/codegen/override.py",
line 92, in handle_file
    self.__parse_override(buf, startline, filename)
  File "/home/jeffbarish/gstreamer/gst-python-0.10.15/codegen/override.py",
line 104, in __parse_override
    command = words[0]
IndexError: list index out of range
make[3]: *** [gst.c] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

It is possible to make gst-python-0.10.14, but then I am not able to import
gst:

>>> import gst
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "gst/__init__.py", line 194, in <module>
    from _gst import *
  File "/usr/lib/python2.6/ihooks.py", line 406, in import_module
    q, tail = self.find_head_package(parent, str(name))
  File "/usr/lib/python2.6/ihooks.py", line 442, in find_head_package
    q = self.import_it(head, qname, parent)
  File "/usr/lib/python2.6/ihooks.py", line 497, in import_it
    m = self.loader.load_module(fqname, stuff)
  File "/usr/lib/python2.6/ihooks.py", line 270, in load_module
    m = self.hooks.load_dynamic(name, filename, file)
  File "gstltihooks.py", line 61, in load_dynamic
    return ihooks.Hooks.load_dynamic(self, name, filename, file)
  File "/usr/lib/python2.6/ihooks.py", line 174, in load_dynamic
    return imp.load_dynamic(name, filename, file)
ImportError: could not import gobject (error was: 'import_module() takes at
most 5 arguments (6 given)')

"import gobject" works fine.
--
Jeffrey Barish


------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Jeffrey Barish
I made it farther this time.  Can anyone tell me what I need to do to fix
this:

Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gst
python: symbol lookup error: gst/.libs/_gst.so: undefined symbol:
gst_search_mode_get_type
--
Jeffrey Barish


------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Jeffrey Barish
Jeffrey Barish wrote:

> I made it farther this time.  Can anyone tell me what I need to do to fix
> this:
>
> Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
> [GCC 4.3.3] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import gst
> python: symbol lookup error: gst/.libs/_gst.so: undefined symbol:
> gst_search_mode_get_type

By the way, when I made gst-plugins-base-0.10.23, gio was listed as
a "plug-in with dependencies that will not be built".  Could this be the
problem?  I couldn't figure out how to get the make to include gio.

Also, in reviewing the steps I took, I see that although the make of
gst-python appeared to complete successfully, I have many messages along
the lines of "Could not write method ..." and "Could not write virtual
accessor method ..." and "Could not write interface proxy" and "Could not
write function ...".

The make of gstreamer-0.10.23 was clean.  The make of
gst-plugins-base-0.10.23 was clean, except for the gio issue.  The
configure of gst-python-0.10.15 was clean.  Only the make of
gst-python-0.10.15 was unclean.  I presume that I have the wrong version of
something, but there was no message to that effect in the configure.
--
Jeffrey Barish


------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Tim-Philipp Müller-2
On Thu, 2009-06-25 at 16:32 -0600, Jeffrey Barish wrote:

> >>>> import gst
> > python: symbol lookup error: gst/.libs/_gst.so: undefined symbol:
> > gst_search_mode_get_type

This most likely means it wants a core (libgstreamer-0.10.*) >= 0.10.23,
but actually links against an older version that doesn't have this
symbol. Maybe you haven't set up your LD_LIBRARY_PATH or whatever
correctly, either now or at build time? Check with ldd gst/.libs/_gst.so
what it links against.


> By the way, when I made gst-plugins-base-0.10.23, gio was listed as
> a "plug-in with dependencies that will not be built".  Could this be the
> problem?  I couldn't figure out how to get the make to include gio.

Pass the --enable-experimental switch to configure or autogen.sh to
build the gio plugin.

Cheers
 -Tim



------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Jeffrey Barish
Tim-Philipp Müller wrote:

> On Thu, 2009-06-25 at 16:32 -0600, Jeffrey Barish wrote:
>
>> >>>> import gst
>> > python: symbol lookup error: gst/.libs/_gst.so: undefined symbol:
>> > gst_search_mode_get_type
>
> This most likely means it wants a core (libgstreamer-0.10.*) >= 0.10.23,
> but actually links against an older version that doesn't have this
> symbol. Maybe you haven't set up your LD_LIBRARY_PATH or whatever
> correctly, either now or at build time? Check with ldd gst/.libs/_gst.so
> what it links against.

I set LD_LIBRARY_PATH at build time.  Big improvement.  However, I am still
getting

Could not write method GstStructure.get_uint: No ArgType for 'guint*'

followed by many more "Could not write method ..." and "Could not write
function ..." messages.  I also set LD_LIBRARY_PATH in the shell from which
I ran the program.  I was able to import gst, but I got the message:

AttributeError: 'module' object has no attribute 'Element'

The gst version is 0.10.23 and the pygst version is 0.10.15 -- both good, so
I must be close.

>> By the way, when I made gst-plugins-base-0.10.23, gio was listed as
>> a "plug-in with dependencies that will not be built".  Could this be the
>> problem?  I couldn't figure out how to get the make to include gio.
>
> Pass the --enable-experimental switch to configure or autogen.sh to
> build the gio plugin.

So, do I actually need to build the gio plugin?
--
Jeffrey Barish


------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Using playbin2

Jeffrey Barish
Jeffrey Barish wrote:

> Tim-Philipp Müller wrote:
>
>> On Thu, 2009-06-25 at 16:32 -0600, Jeffrey Barish wrote:
>>
>>> >>>> import gst
>>> > python: symbol lookup error: gst/.libs/_gst.so: undefined symbol:
>>> > gst_search_mode_get_type
>>
>> This most likely means it wants a core (libgstreamer-0.10.*) >= 0.10.23,
>> but actually links against an older version that doesn't have this
>> symbol. Maybe you haven't set up your LD_LIBRARY_PATH or whatever
>> correctly, either now or at build time? Check with ldd gst/.libs/_gst.so
>> what it links against.
>
> I set LD_LIBRARY_PATH at build time.  Big improvement.  However, I am
> still getting
>
> Could not write method GstStructure.get_uint: No ArgType for 'guint*'
>
> followed by many more "Could not write method ..." and "Could not write
> function ..." messages.  I also set LD_LIBRARY_PATH in the shell from
> which
> I ran the program.  I was able to import gst, but I got the message:
>
> AttributeError: 'module' object has no attribute 'Element'
>
> The gst version is 0.10.23 and the pygst version is 0.10.15 -- both good,
> so I must be close.
>
>>> By the way, when I made gst-plugins-base-0.10.23, gio was listed as
>>> a "plug-in with dependencies that will not be built".  Could this be the
>>> problem?  I couldn't figure out how to get the make to include gio.
>>
>> Pass the --enable-experimental switch to configure or autogen.sh to
>> build the gio plugin.
>
> So, do I actually need to build the gio plugin?

I also just noticed that the volume control for playbin2 does not work.  I'm
assuming that the problem is related to the warning messages I received
when building.

configure doesn't recognize a --enable-experimental switch:

$ ./configure --enable-experimental
configure: WARNING: unrecognized options: --enable-experimental
--
Jeffrey Barish


------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Making GStreamer

Jeffrey Barish
After an effort lasting many days, I have managed to make gstreamer-0.10.23
and gst-plugins-base-0.10.23 cleanly.  However, gst-python-0.10.15 does not
make cleanly.  I still get many warnings along the lines of

Could not write method GstStructure.get_uint: No ArgType for 'guint*'

and then

***INFO*** The coverage of global functions is 45.45% (10/22)

The make finishes anyway, but when I try to import gst I get:

Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gst
AttributeError: 'module' object has no attribute 'Element'
python: symbol lookup error: gst/.libs/interfaces.so: undefined symbol:
gst_navigation_command_get_type

When I check interfaces.so in /usr/lib/python2.6/dist-packages/gst-0.10/gst
with nm, I confirm that gst_navigation_command_get_type is undefined.

I have no idea what to do now, so I would appreciate some suggestions.
--
Jeffrey Barish


------------------------------------------------------------------------------
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel