# gstreamer broken?



## darcsis (Mar 10, 2010)

it seems there is something wrong with gstreamer. totem and banshee won't play any more... each time i tried to open a file in totem or banshee, it says the following:


```
Internal GStreamer error: negotiation problem.  Please file a bug at [url]http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer[/url].
```

if i start totem in an x terminal, the error message is like this:


```
gsturidecodebin.c(1571): setup_source (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin0:
Can't link source to decoder element
```

So there might be something wrong with gstreamer on my machine? It's been broken for couple of weeks...


----------



## pat (Mar 11, 2010)

*same problem here*

[CMD=""]totem[/CMD]

```
(totem:20905): GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

(totem:20905): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion `GST_IS_ELEMENT (element)' failed

(totem:20905): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed

(totem:20905): GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

(totem:20905): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion `GST_IS_ELEMENT (element)' failed

(totem:20905): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed

(totem:20905): GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

(totem:20905): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion `GST_IS_ELEMENT (element)' failed

(totem:20905): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed

(totem:20905): GStreamer-CRITICAL **: gst_bin_add_many: assertion `GST_IS_ELEMENT (element_1)' failed

(totem:20905): GStreamer-CRITICAL **: gst_element_link_pads: assertion `GST_IS_ELEMENT (src)' failed

(totem:20905): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion `GST_IS_ELEMENT (element)' failed

(totem:20905): GStreamer-CRITICAL **: gst_ghost_pad_new: assertion `GST_IS_PAD (target)' failed

(totem:20905): GStreamer-CRITICAL **: gst_element_add_pad: assertion `GST_IS_PAD (pad)' failed

(totem:20905): GStreamer-CRITICAL **: gst_object_unref: assertion `object != NULL' failed
```

Feeding totem with an avi file as arg:

```
... see above log ...
** (totem:20962): WARNING **: can't find typefind element, decodebin will not work

(totem:20962): GStreamer-WARNING **: Element decodebin20 has an ALWAYS template sink, but no pad of the same name

** (totem:20962): WARNING **: can't find typefind element, decodebin will not work

(totem:20962): GStreamer-WARNING **: Element decodebin21 has an ALWAYS template sink, but no pad of the same name
** Message: Error: Internal GStreamer error: negotiation problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
gsturidecodebin.c(1571): setup_source (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin0:
Can't link source to decoder element
```

Nobody reported similar problem on freebsd-gnome mailling list.
I recompiled all gstreamer ports: 
	
	



```
sudo portmaster "gstreamer*"
```
 after a csup ... but no luck here.


----------



## DutchDaemon (Mar 11, 2010)

Try rebuilding gstreamer (gstreamer-0.10.26) recursively, using [cmd=]portmaster -Rr gstreamer-0.10.26[/cmd].


----------



## darcsis (Mar 14, 2010)

*still no luck...*

i rebuilt gstreamer recursively but it didn't work.
gstreamer doesn't play anything...
but mplayer and vlc work well. it is very weird...
anyway thanks for your suggestion!


----------



## pat (Mar 14, 2010)

*It did it*

As wisely advised by DD, gstreamer and deps got recompiled recursively and everything is back to normal state now: totem and rhythmbox play, files get thumnailed.
I'll have to remember to be more zealous than /usr/ports/UPDATING states.
Thanks again DD :*


----------



## darcsis (Mar 14, 2010)

*well...*

i'll give it another try.
maybe i did something wrong while rebuilding gstreamer.


----------



## darcsis (Mar 20, 2010)

*it does not work...*

recursive rebuilding did not work...

i rebuilt gstreamer recursively, but it did not work...
maybe there is something wrong with my system...


----------



## arachnid (Mar 22, 2010)

i've some problem with same messages

fresh install freebsd 8 stable snapshot amd64


----------



## lartza (Mar 22, 2010)

Same here with 8.0-RELEASE-p2 i386 and latest ports, rebuilding doesn't help.

gst-typefind-0.10 core dumps, maybe it has something to do with this:

```
ERROR:gst-typefind.c:73:typefind_file: assertion failed: (GST_IS_ELEMENT (source))
Abort trap: 6 (core dumped)
```
Basic gst-launch command fails too:

```
gst-launch filesrc location=some.mp3 ! mad ! osssink
ERROR: pipeline could not be constructed: no element "filesrc".
```

The Test button in gstreamer-properties dialog does play sound.


----------



## lartza (Mar 22, 2010)

Looks like coreelements isn't listed by gst-inspect, though /usr/local/lib/gstreamer-0.10/libgstcoreelements.* exist.


----------



## lartza (Mar 22, 2010)

I think something like this fixed it


```
cd /var/db/pkg && pkg_delete -f gstreamer-*
cd /usr/ports/multimedia/gstreamer && make install clean
cd /usr/ports/multimedia/gstreamer-plugins && make install clean
```


----------



## arachnid (Mar 23, 2010)

nothing help. try all 

```
portmaster -Rr gstreamer-0.10.26
```
 and

```
cd /var/db/pkg && pkg_delete -f gstreamer-*
cd /usr/ports/multimedia/gstreamer && make install clean
cd /usr/ports/multimedia/gstreamer-plugins && make install clean
```

but have 

```
** (totem:82876): WARNING **: can't find typefind element, decodebin will not work

(totem:82876): GStreamer-WARNING **: Element decodebin21 has an ALWAYS template sink, but no pad of the same name
** Message: Error: Internal GStreamer error: negotiation problem.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
gsturidecodebin.c(1571): setup_source (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin0:
Can't link source to decoder element
```

any idea?


----------



## lartza (Mar 23, 2010)

arachnid: `gst-inspect|grep coreelements`

If the coreelements are missing, try: 


```
cd /var/db/pkg && pkg_delete -f gstreamer-*
cd /usr/ports/multimedia/gstreamer && make install clean
```

then do 

`gst-inspect |grep coreelements`

yet again.

if you've got the coreelements now (as I did) the core gst is fixed. If not, then your problem is somehow different from mine.

After this you can make install clean /usr/ports/multimedia/gstreamer-plugins-{good,bad,ugly} one by one and gst-inspect after every step to check if the necessary coreelements disappear.


----------



## arachnid (Mar 23, 2010)

BIG thanks!  the coreelements, as you say, was missing
after deinstall and install all working!


----------

