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 132306 - Esdsink does not work
Esdsink does not work
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins
git master
Other Linux
: Normal normal
: 0.7.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-01-23 15:08 UTC by Richard Hult
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.5/2.6



Description Richard Hult 2004-01-23 15:08:15 UTC
When I use esdsink, I get the following error:

Internal GStreamer error: negotiation problem.  File a bug

It's easy to reproduce with gst-launch:

gst-launch-0.7 filesrc location=song.mp3 ! mad ! osssink
RUNNING pipeline ...

Osd works. And now esd:

[rhult@carrot rhythmbox]$ gst-launch-0.7 filesrc location=song.mp3 ! mad !
esdsink
RUNNING pipeline ...
ERROR: from element /pipeline0/esdsink0: Internal GStreamer error:
negotiation problem.  File a bug.
Additional debug info:
esdsink.c(269):gst_esdsink_chain:
element wasn't negotiated before chain function
ERROR       scheduler( 7687)
gstoptimalscheduler.c(2074):gst_opt_scheduler_iterate:
[GstOptScheduler@0x92a6b88] in error state
Execution ended after 1 iterations (sum 73959000 ns, average 73959000 ns,
min 73959000 ns, max 73959000 ns).
Comment 1 Thomas Vander Stichele 2004-01-23 15:39:08 UTC
I added better debugging and also erroring for some cases in the sink,
please give a new error report so we can see what goes wrong.
Comment 2 Richard Hult 2004-01-23 15:41:50 UTC
Additional debug info:

[rhult@carrot rhult]$ gst-launch-0.7 --gst-debug=esd:5 filesrc
location=song.mp3 ! mad ! esdsink
RUNNING pipeline ...
ERROR: from element /pipeline0/esdsink0: Internal GStreamer error:
negotiation problem.  File a bug.
Additional debug info:
esdsink.c(272):gst_esdsink_chain:
element wasn't negotiated before chain function
DEBUG             esd(19473) esdsink.c(447):gst_esdsink_open_audio:
esdsink: attempting to open connection to esound server
ERROR       scheduler(19473)
gstoptimalscheduler.c(2074):gst_opt_scheduler_iterate:
[GstOptScheduler@0x86e0c08] in error state
Execution ended after 1 iterations (sum 90662000 ns, average 90662000
ns, min 90662000 ns, max 90662000 ns).
DEBUG             esd(19473) esdsink.c(471):gst_esdsink_close_audio:
esdsink: closed sound device
Comment 3 Richard Hult 2004-01-23 16:34:04 UTC
Again, with updated debugging code:

[rhult@carrot esd]$ gst-launch-0.7  --gst-debug=esd:4 filesrc
location=song.mp3 ! mad ! esdsink
RUNNING pipeline ...
ERROR: from element /pipeline0/esdsink0: Internal GStreamer error:
negotiation problem.  File a bug.
Additional debug info:
esdsink.c(273):gst_esdsink_chain:
element wasn't negotiated before chain function
INFO              esd(19791) esdsink.c(448):gst_esdsink_open_audio:
attempting to open connection to esound server
INFO              esd(19791) esdsink.c(459):gst_esdsink_open_audio:
successfully opened connection to esound server
ERROR       scheduler(19791)
gstoptimalscheduler.c(2074):gst_opt_scheduler_iterate:
[GstOptScheduler@0x8853c08] in error state
Execution ended after 1 iterations (sum 51962000 ns, average 51962000
ns, min 51962000 ns, max 51962000 ns).
INFO              esd(19791) esdsink.c(473):gst_esdsink_close_audio:
esdsink: closed sound device
Comment 4 David Schleef 2004-01-27 21:37:16 UTC
This should be fixed.  esdsink now forces
rate=44100,width=16,channels=2.  synchronization is fixed, too.
Comment 5 Richard Hult 2004-01-27 22:35:29 UTC
Thanks guys! Works like a charm :)
Comment 6 Richard Hult 2004-01-30 09:03:23 UTC
I got esdsink working with some help from Thomas (he told be to add
audioscale and audioconvert) but now it seems to have broken again:

(works with osssink)

gst-launch-0.7  --gst-debug=esd:4 filesrc location=song.mp3 ! mad !
audioscale ! audioconvert ! esdsink
RUNNING pipeline ...
INFO              esd(28651) esdsink.c(408):gst_esdsink_open_audio:
NULL attempting to open connection to esound server
INFO              esd(28651) esdsink.c(419):gst_esdsink_open_audio:
NULL successfully opened connection to esound server
ERROR             esd(28651) esdsink.c(257):gst_esdsink_chain:
<esdsink0> element wasn't negotiated before chain function
ERROR: from element /pipeline0/esdsink0: Internal GStreamer error:
negotiation problem.  File a bug.
Additional debug info:
esdsink.c(257):gst_esdsink_chain:
element wasn't negotiated before chain function
Comment 7 Ronald Bultje 2004-01-30 12:52:05 UTC
Apparently, nobody checked this. Negotiation is removed (good thing,
esd can't negotiate anyway) and ... we set state to unnegotiated by
default and set it to negotiated after negotiation.

That's useful.

Fixed in CVS.