After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 340379 - [playbin] doesn't insert audioresample, causes problems with esdsink and other sinks
[playbin] doesn't insert audioresample, causes problems with esdsink and othe...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.5
Other Linux
: Normal major
: 0.10.7
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 332725 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-05-02 07:59 UTC by Ed Catmur
Modified: 2006-05-25 14:51 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14



Description Ed Catmur 2006-05-02 07:59:42 UTC
Playing any audio or video file with esdsink selected in gstreamer-properties gives "Internal data stream error", "Internal data flow error", etc.

This happens in totem, banshee, rhythmbox, listen, gmusicbrowser, etc.; anything that uses gstreamer for playback. However I cannot reproduce it using gst-launch; 

$ gst-launch playbin uri=file:///path/to/file 
$ gst-launch filesrc location=/path/to/file ! decodebin ! esdsink 
$ gst-launch filesrc location=/path/to/file ! decodebin ! gconfaudiosink

all play fine.

Totem does not produce any messages on stderr.

Versions:
gstreamer 0.10.5
gst-plugins-base 0.10.6
gst-plugins-good 0.10.2

I have also tried bringing ext/esd up to latest cvs. It still does not work.
Comment 1 Tim-Philipp Müller 2006-05-10 10:20:34 UTC
Could you try again with gst-plugins-good 0.10.3 (or CVS, there shouldn't be a difference at the moment) and make sure it's actually picking up the right version by doing

 $ gst-inspect-0.10 esdsink | grep Version

Comment 2 Ed Catmur 2006-05-10 21:44:44 UTC
I am running esdsink from gst-plugins-good-0.10.3:

$ gst-inspect-0.10 esdsink | grep Version
  Version:              0.10.3

I have found a pipeline that fails:

$ gst-launch filesrc location=/path/to/file ! decodebin ! audioconvert ! esdsink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
(hangs at this point)

Note the extra audioconvert element. audioconvert is version 0.10.6, from gst-plugins-base.

If I try to play a wav file (as opposed to flac, ogg, etc.) totem produces output on stderr and occasionally segfaults:

$ totem /usr/share/sounds/error.wav

** (totem:30586): WARNING **: could not link audio/x-raw-int, endianness=(int)1234, channels=(int)1, width=(int)16, depth=(int)16, signed=(boolean)true, rate=(int)44100: -4

(totem:30586): GStreamer-CRITICAL **: gst_caps_is_fixed: assertion `GST_IS_CAPS (caps)' failed

(totem:30586): GStreamer-CRITICAL **: gst_pad_set_caps: assertion `caps == NULL || gst_caps_is_fixed (caps)' failed
Segmentation fault

esd server info:

$ esdctl serverinfo
server version = 0
server format  = 0x00000021
server rate    = 48000

esd output device is hw:0, a VIA 8235 (snd_via82xx, from ALSA 1.0.11, not the in-kernel module).
Comment 3 Tim-Philipp Müller 2006-05-10 21:54:55 UTC
Could you try:

$ gst-launch filesrc location=/path/to/file ! decodebin ! audioconvert ! audioresample ! esdsink

Comment 4 Ed Catmur 2006-05-11 01:58:20 UTC
Yes, that works.

Also, setting the gconf audio sink to custom "audioresample ! esdsink" makes Totem play OK.
Comment 5 Tim-Philipp Müller 2006-05-11 17:44:48 UTC
D'oh, I know what's wrong: playbin doesn't insert audioresample by default. Re-assigning to gst-plugins-base.
Comment 6 Tim-Philipp Müller 2006-05-11 18:06:47 UTC
 2006-05-11  Tim-Philipp Müller  <tim at centricular dot net>

        * gst/playback/gstplaybin.c: (gen_audio_element):
          Make playbin automatically plug an 'audioresample'
          element before the audio sink as well. This solves
          problems with sinks that only accept a very specific
          sample rate, like esdsink (e.g. #340379).

Comment 7 Tim-Philipp Müller 2006-05-25 14:51:03 UTC
*** Bug 332725 has been marked as a duplicate of this bug. ***