FS#3811 - gstreamer and alsasink

Attached to Project: Arch Linux
Opened by Brice (bricem13) - Saturday, 21 January 2006, 11:59 GMT
Last edited by arjan timmerman (blaasvis) - Saturday, 21 January 2006, 14:39 GMT
Task Type Bug Report
Category Packages: Current
Status Closed
Assigned To Jan de Groot (JGC)
Architecture not specified
Severity High
Priority Normal
Reported Version 0.7.1 Noodle
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Hi

I seems to have a gstreamer problem:

[brice@TuxBox:~]$ gst-launch-0.8 filesrc location=mp3/infectious_grooves/groove_family_cyco/made_it.mp3 ! spider ! alsasink
RUNNING pipeline ...
ERROR: from element /pipeline0/alsasink0: Could not get/set settings from/on resource.
ERROR: from element /pipeline0/spider0/mad0: Internal GStreamer error: pad problem. File a bug.
Additional debug info:
gstpad.c(2562): gst_pad_set_explicit_caps: /pipeline0/spider0/mad0:
failed to negotiate (try_set_caps with "audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2" returned REFUSED)
ERROR: from element /pipeline0/spider0/mad0: Internal GStreamer error: negotiation problem. File a bug.
Additional debug info:
gstmad.c(1206): gst_mad_check_caps_reset: /pipeline0/spider0/mad0:
Failed to negotiate 44100 Hz, 2 channels
Execution ended after 45 iterations (sum 176814000 ns, average 3929200 ns, min 32000 ns, max 76479000 ns).


whereas:

[brice@TuxBox:~]$ gst-launch-0.8 filesrc location=mp3/infectious_grooves/groove_family_cyco/made_it.mp3 ! spider ! osssink


works.



BEst regards, Brice
This task depends upon

Closed by  Jan de Groot (JGC)
Monday, 23 January 2006, 22:53 GMT
Reason for closing:  Works for me
Additional comments about closing:  Hardware issue, not a gstreamer issue.
Comment by Simon Morgan (sjmorgan) - Saturday, 21 January 2006, 13:59 GMT
Why aren't you filing this in the GStreamer bug tracking system like it says?
Comment by Jan de Groot (JGC) - Saturday, 21 January 2006, 17:15 GMT
Please try again with the latest gst-plugins release I updated today. If it fails with this release, please supply us with the first 300KB of your soundfile.
Comment by Brice (bricem13) - Sunday, 22 January 2006, 09:54 GMT
Hello


It still fails and this whenever the sound file is.

After cuting the file to 300K, I tried again to play the reduced file and it worked... No idea what the point is!

Therefore you won't find any file here.


Best regards,

Brice
Comment by Jan de Groot (JGC) - Sunday, 22 January 2006, 13:00 GMT
What soundcard do you have? My theory on this one:
- your soundcard only supports one samplerate (48KHz)
- by cutting the file to 300K gstreamer doesn't know how to determine the correct samplerate
- spider knows how to decode the MP3 file, but delivers it as 44KHz to the alsasink
- alsasink won't play it because your alsa driver wants 48KHz.

Why it works with OSS: the osssink in gstreamer is quite hacky. It detects many wrong things and corrects it automatically. If you stuff something in the wrong samplerate to OSS, it will convert it, or at least play it at the wrong speed.

Try this one:

gst-launch filesrc location=blabla.mp3 ! spider ! audioconvert ! alsasink

It should work, as audioconvert converts between the stream that spider gives and alsasink wants.
Comment by Brice (bricem13) - Sunday, 22 January 2006, 14:04 GMT
I use the module snd-via82xx.

lspci gives: 00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)


Your command does not work:

[brice@TuxBox:~]$ gst-launch filesrc location=track1.mp3 ! spider ! audioconvert ! alsasink
RUNNING pipeline ...
ERROR: from element /pipeline0/alsasink0: Could not get/set settings from/on resource.
ERROR: from element /pipeline0/spider0/mad0: Internal GStreamer error: pad problem. File a bug.
Additional debug info:
gstpad.c(2562): gst_pad_set_explicit_caps: /pipeline0/spider0/mad0:
failed to negotiate (try_set_caps with "audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2" returned REFUSED)
ERROR: from element /pipeline0/spider0/mad0: Internal GStreamer error: negotiation problem. File a bug.
Additional debug info:
gstmad.c(1206): gst_mad_check_caps_reset: /pipeline0/spider0/mad0:
Failed to negotiate 44100 Hz, 2 channels
Execution ended after 2 iterations (sum 369168000 ns, average 184584000 ns, min 270000 ns, max 368898000 ns).
[brice@TuxBox:~]$


However, I got it working by putting "options snd-via82xx dxs_support=5" in /etc/modprobe.conf


Best regards, Brice

Loading...