[Gutsy] Can't play realaudio in Totem as cook.so library missing (i386)

Bug #155894 reported by Martin Willemoes Hansen
44
Affects Status Importance Assigned to Milestone
gstreamer (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Ubuntu 7.10 Desktop Edition

When trying to play a real audio sound file totem pops out with the error:

   GStreamer encountered a general stream error.

The command line gives the following:

LANG=C totem Mary.rm
sh: jackd: not found
sh: jackd: not found
** Message: Error: GStreamer encountered a general stream error.
rmdemux.c(925): gst_rmdemux_loop (): /play/decodebin0/rmdemux0:
stream stopped, reason not-negotiated

A gst-launch gives the following:

LANG=C gst-launch-0.10 playbin uri=file:///home/foobar/Escritorio/foobar.rm
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
sh: jackd: not found
ERROR: from element /playbin0/decodebin0/rmdemux0: GStreamer encountered a general stream error.
Additional debug info:
rmdemux.c(925): gst_rmdemux_loop (): /playbin0/decodebin0/rmdemux0:
stream stopped, reason not-negotiated
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...

Just followed the instructions from totem on getting codexes for realaudio.

Revision history for this message
Stéphane Loeuillet (leroutier) wrote :

Could you provide such a file please ?

Revision history for this message
Stéphane Loeuillet (leroutier) wrote :

Marking as Incomplete until such a file is provided

Changed in gstreamer:
status: New → Incomplete
Revision history for this message
Martin Willemoes Hansen (mwh) wrote :
Changed in gstreamer:
status: Incomplete → New
Revision history for this message
Stéphane Loeuillet (leroutier) wrote :

I have no such crash playing this file but the "sh: jackd: not found" lines you have look suspicious.

Could you run /usr/bin/gstreamer-properties from gnome-media package and tell me which audio sink is set ?
If bet it is jack audio connector sink.

Most users use either Alsa or PulseAudio (esound on older systems)
You could also try to use Autodetect

Revision history for this message
Martin Willemoes Hansen (mwh) wrote :

Sure, It gives me the following screen.

If I press the test button at the bottom I get an error message:

   Failed to construct test pipeline for 'ALSA - Advanced Linux Sound Architecture'

Revision history for this message
Stéphane Loeuillet (leroutier) wrote :

Bottom test button is for input (microphone)

How about the upper one, do you hear sound ?

Revision history for this message
Martin Willemoes Hansen (mwh) wrote :

Yes I hear sound.

Also, to clarify, I can playback many different kinds of audio formats, mp3, wma, ogg and more without problems, but real audio fails.

Revision history for this message
Austin Lund (austin-lund) wrote :

What does the debug give? Try:

LANG=C GST_DEBUG=4 gst-launch-0.10 playbin uri=file:///home/foobar/Escritorio/foobar.rm 2> output

and post the 'output' file.

Revision history for this message
Martin Willemoes Hansen (mwh) wrote :

 LANG=C GST_DEBUG=4 gst-launch-0.10 playbin uri=file:///home/mwh/Mary.rm 2> output
ERROR: from element /playbin0/decodebin0/rmdemux0: GStreamer encountered a general stream error.
Additional debug info:
rmdemux.c(925): gst_rmdemux_loop (): /playbin0/decodebin0/rmdemux0:
stream stopped, reason not-negotiated

Revision history for this message
Austin Lund (austin-lund) wrote :

Thanks for adding that output. I need to look into it more but the important line in the debugging is:

0:00:00.505159000 6509 0x8149938 DEBUG realaudiodec gstrealaudiodec.c:340:gst_real_audio_dec_setcaps:<realaudiodec0> Could not open library '/usr/lib/win32/cook.so.6.0': /usr/lib/win32/cook.so.6.0: cannot open shared object file: No such file or directory-negotiated

I take it you don't have a file called /usr/lib/win32/cook.so.6.0?

Try typing "locate cook.so.6.0" to see if you have it at all.

Someone had a similar problem with xine:

https://plf.zarb.org/bugzilla/show_bug.cgi?id=21

But I don't know enough at the moment to know if they are actually related.

This would also explain why you seem to have a generally working sound system, yet .rm files don't work in the playbin.

Revision history for this message
Martin Willemoes Hansen (mwh) wrote :

Yes I don't have that file.

ls: /usr/lib/win32/cook.so.6.0: No such file or directory

Revision history for this message
Austin Lund (austin-lund) wrote :

OK. You must have something extra installed that I do not. I cannot figure out exactly what it might be, but it could a a gstreamer wrapper that might be not working.

Try the following:

gst-launch filesrc location=Mary.rm ! rmdemux ! ffdec_cook ! audioconvert ! alsasink

If that doesn't work then see if each of the critical elements exist by trying:

gst-inspect rmdemux
gst-inspect ffdec_cook

Not sure if they are in the good, bad, or ugly gstreamer packages.

Revision history for this message
Martin Willemoes Hansen (mwh) wrote :

gst-launch was not installed:
bash: /usr/bin/gst-launch: No such file or directory

so I installed it:
sudo apt-get install gstreamer-tools

Then ran the command:
gst-launch filesrc location=Mary.rm ! rmdemux ! ffdec_cook ! audioconvert ! alsasink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock

The file is played back alright with out problems.

Though I still cannot play it back with Totem :(

sudo apt-get install gstreamer-tools

Revision history for this message
Austin Lund (austin-lund) wrote :

OK. So it seems that the realaudiodec gstreamer plugin is from the set of "bad" plugins.

The cook.so.6.0 file is in the w32codecs package offered in medibuntu.

This is clearly a bug. It should at least tell you that it isn't going to work.

Either try installing the w32codecs package and make sure that it did install the cook.so.6.0 file and running it through Totem....

or.... (the unpleasent way)

remove the gstreamer0.10-plugins-bad package and try Totem. This will remove the offending plugin and should then use the ffmpeg codec.

It seems that it works on my system without tinkering because I have an AMD64 system. The bad plugins package for AMD64 doesn't include the "real" encoders and decoders which rely on the cook.so.6.0 library. Hence it automatically used the ffmpeg decoder and works with the playbin.

Revision history for this message
Austin Lund (austin-lund) wrote :

As I've found a few duplicates of this, I'm going to label it as confirmed.

In trying the above suggestions, I'd try them in the opposite order. Try removing the bad plugins package and test Totem. Then reinstall it and also install the w32codecs package from medibuntu.

Changed in gstreamer:
status: New → Confirmed
Changed in gstreamer:
status: Confirmed → Incomplete
Revision history for this message
Mackenzie Morgan (maco.m) wrote :

Are you still experiencing this issue?

Revision history for this message
pestsov (epestsov) wrote :

I am not

Revision history for this message
Mackenzie Morgan (maco.m) wrote :

Bug no longer reproducible.

Changed in gstreamer:
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.