Summary: | gst-plugins-pulse / gstreamer failed to create stream for mp3 files | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Christophe <cjouny> |
Component: | [OLD] GNOME | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | CC: | gstreamer |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Christophe
2008-07-26 01:03:03 UTC
Make sure it's gst-plugins-good-0.10.8-r1 and gst-plugins-gconf-0.10.8-r1 installed, -r1 from both. ... and don't mix ~arch version of gstreamer into stable, or at least make sure you get the whole set (including correct versions of liboil, libs and separate plugins including apps that support the versions) I run stable amd64 mostly. I try to keep packages.keywords to a minimum. Anyway updated good and gconf to -r1, no change. About the other dependencies, I assumed the ebuild would pull the necessary ones... any clue where I can find out which dependencies version you mentioned which are not included in the ebuild ? Could you provide a list of all gst-plugins-* which you have installed? app-portage/eix can give you a nice list. Thanks I recently updated many when gstreamer-0.10.20 went stable but no changes.
>> eix -I -c gst-plugins
[I] media-libs/gst-plugins-bad (0.10.7@07/16/2008): Unmaintained plugins for GStreamer
[I] media-libs/gst-plugins-base (0.10.20(0.10)@07/16/2008): Basepack of plugins for gstreamer
[I] media-libs/gst-plugins-good (0.10.8-r1(0.10)@07/25/2008): Basepack of plugins for gstreamer
[I] media-libs/gst-plugins-ugly (0.10.8(0.10)@07/16/2008): Basepack of plugins for gstreamer
[I] media-plugins/gst-plugins-a52dec (0.10.8(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-alsa (0.10.20(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-cdparanoia (0.10.20(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-dvdread (0.10.8(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-esd (0.10.8(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-faac (0.10.7(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-faad (0.10.7(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-ffmpeg (0.10.2(0.10)@07/16/2008): FFmpeg based gstreamer plugin
[I] media-plugins/gst-plugins-flac (0.10.8(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-fluendo-mpegdemux (0.10.15(0.10)@07/16/2008): Fluendo's Mpeg demuxer is a GStreamer element to demux mpeg streams
[I] media-plugins/gst-plugins-gconf (0.10.8-r1(0.10)@07/26/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-gnomevfs (0.10.20(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-jpeg (0.10.8(0.10)@08/02/2008): plug-in to encode and decode jpeg images
[I] media-plugins/gst-plugins-lame (0.10.8(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-libpng (0.10.8(0.10)@08/02/2008): plug-in to encode png images
[I] media-plugins/gst-plugins-libvisual (0.10.20(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-mad (0.10.8(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-meta (0.10-r2(0.10)@07/26/2008): Meta ebuild to pull in gst plugins for apps
[I] media-plugins/gst-plugins-mpeg2dec (0.10.8(0.10)@08/02/2008): Libmpeg2 based decoder plug-in for gstreamer
[I] media-plugins/gst-plugins-ogg (0.10.20(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-oss (0.10.8(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-pango (0.10.20(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-pulse (0.9.7(0.10)@07/25/2008): gst-pulse is a GStreamer 0.10 plugin for the PulseAudio sound server.
[I] media-plugins/gst-plugins-taglib (0.10.8(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-theora (0.10.20(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-vorbis (0.10.20(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-x (0.10.20(0.10)@08/02/2008): plugin for gstreamer
[I] media-plugins/gst-plugins-xvideo (0.10.20(0.10)@08/02/2008): plugin for gstreamer
Here's the magic command line to start figuring out where things go wrong : gst-launch-0.10 -v filesrc location=<full path> ! decodebin ! pulsesink And paste the output here :) Thanks @Rémi: stop touching the fields, you jackass! just to be clear /etc/init.d/pulseaudio is not started on this PC as it has no configured sound card. Config is minimal afaik. /etc/pulse/client.conf only contains the default-server to send to (in this case the windows PC). I have not set default-sink. It shows as "wave_output" "Windows waveOut PCM" in the PulseAudio Manager.
I tested both mp3 and ogg. ogg plays, mp3 doesn't.
>> gst-launch-0.10 -v filesrc location=./test.mp3 ! decodebin ! pulsesink
Setting pipeline to PAUSED ...
/pipeline0/decodebin0/typefind.src: caps = application/x-id3
/pipeline0/decodebin0/id3demux0.sink: caps = application/x-id3
/pipeline0/decodebin0/mpegaudioparse0.sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3
/pipeline0/decodebin0/mpegaudioparse0.src: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true
/pipeline0/decodebin0/mad0.sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true
/pipeline0/decodebin0/mad0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
Pipeline is PREROLLING ...
ERROR: from element /pipeline0/pulsesink0: Failed to create stream: (null)
Additional debug info:
pulsesink.c(388): gst_pulsesink_prepare (): /pipeline0/pulsesink0
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/pipeline0/decodebin0/mad0.src: caps = NULL
/pipeline0/decodebin0/mad0.sink: caps = NULL
/pipeline0/decodebin0/mpegaudioparse0.src: caps = NULL
/pipeline0/decodebin0/mpegaudioparse0.sink: caps = NULL
/pipeline0/decodebin0/id3demux0.src: caps = NULL
/pipeline0/decodebin0/id3demux0.sink: caps = NULL
/pipeline0/decodebin0/typefind.src: caps = NULL
FREEING pipeline ...
Just to show that the ogg file worked.
gst-launch-0.10 -v filesrc location=./test.ogg ! decodebin ! pulsesink
Setting pipeline to PAUSED ...
/pipeline0/decodebin0/typefind.src: caps = application/ogg
Pipeline is PREROLLING ...
/pipeline0/decodebin0/queue0.sink: caps = audio/x-vorbis
/pipeline0/decodebin0/queue0.src: caps = audio/x-vorbis
/pipeline0/decodebin0/vorbisdec1.sink: caps = audio/x-vorbis
/pipeline0/decodebin0/vorbisdec1.src: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32
/pipeline0/pulsesink0.sink: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32
/pipeline0/decodebin0.src0: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32
/pipeline0/decodebin0.src0.proxypad1: caps = audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
Got EOS from element "pipeline0".
Execution ended after 260584849440 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/pipeline0/pulsesink0.sink: caps = NULL
/pipeline0/decodebin0.src0: caps = NULL
/pipeline0/decodebin0/vorbisdec1.src: caps = NULL
/pipeline0/decodebin0/vorbisdec1.sink: caps = NULL
/pipeline0/decodebin0/queue0.src: caps = NULL
/pipeline0/decodebin0/queue0.sink: caps = NULL
/pipeline0/decodebin0/oggdemux0.serial_00000000: caps = NULL
/pipeline0/decodebin0/typefind.src: caps = NULL
Setting pipeline to NULL ...
FREEING pipeline ...
How about that one ? (I've added an audioconvert element) gst-launch-0.10 -v filesrc location=<full path> ! decodebin ! audioconvert ! pulsesink I'm thinking the difference is related to having float samples in one file, and integer samples in the other file... maybe? Nope, not working with the audioconvert either. BTW I also tried several mp3 from different sources - no differences. gst-launch-0.10 -v filesrc location=./test.mp3 ! decodebin ! audioconvert ! pulsesink Setting pipeline to PAUSED ... /pipeline0/decodebin0/typefind.src: caps = application/x-id3 /pipeline0/decodebin0/id3demux0.sink: caps = application/x-id3 /pipeline0/decodebin0/mpegaudioparse0.sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3 /pipeline0/decodebin0/mpegaudioparse0.src: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true /pipeline0/decodebin0/mad0.sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true /pipeline0/decodebin0/mad0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /pipeline0/audioconvert0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /pipeline0/audioconvert0.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /pipeline0/decodebin0.src0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /pipeline0/decodebin0.src0.proxypad1: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 Pipeline is PREROLLING ... ERROR: from element /pipeline0/pulsesink0: Failed to create stream: (null) Additional debug info: pulsesink.c(388): gst_pulsesink_prepare (): /pipeline0/pulsesink0 ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... /pipeline0/audioconvert0.src: caps = NULL /pipeline0/audioconvert0.sink: caps = NULL /pipeline0/decodebin0.src0: caps = NULL /pipeline0/decodebin0/mad0.src: caps = NULL /pipeline0/decodebin0/mad0.sink: caps = NULL /pipeline0/decodebin0/mpegaudioparse0.src: caps = NULL /pipeline0/decodebin0/mpegaudioparse0.sink: caps = NULL /pipeline0/decodebin0/id3demux0.src: caps = NULL /pipeline0/decodebin0/id3demux0.sink: caps = NULL /pipeline0/decodebin0/typefind.src: caps = NULL FREEING pipeline ... gst-plugins-pulse is now up to version 0.10.11 and is part of upstream package gst-plugins-good. time to retry, I guess? So odd thing, basically totem, quodlibet and the command line below still failed - different error message it seems however: gst-launch-0.10 -v filesrc location=./test2.mp3 ! decodebin ! audioconvert ! pulsesink Setting pipeline to PAUSED ... /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = application/x-id3 Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstID3Demux:id3demux0.GstPad:sink: caps = application/x-id3 /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMPEGAudioParse:mpegaudioparse0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3 /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMPEGAudioParse:mpegaudioparse0.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMad:mad0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)1, layer=(int)3, rate=(int)44100, channels=(int)2, parsed=(boolean)true /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMad:mad0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0.GstProxyPad:proxypad1: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2 ERROR: from element /GstPipeline:pipeline0/GstPulseSink:pulsesink0: Failed to create stream: (null) Additional debug info: pulsesink.c(598): gst_pulsesink_prepare (): /GstPipeline:pipeline0/GstPulseSink:pulsesink0 ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = NULL /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMad:mad0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMad:mad0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMPEGAudioParse:mpegaudioparse0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMPEGAudioParse:mpegaudioparse0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstID3Demux:id3demux0.GstPad:src: caps = NULL /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstID3Demux:id3demux0.GstPad:sink: caps = NULL /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL FREEING pipeline ... BUT the new banshee-1.4.2 - which as far as I know - use gstreamer works and can play my mp3 !! media-libs/gstreamer 0.10.21-r3 media-libs/gst-plugins-good-0.10.11 media-libs/gst-plugins-pulse-0.10.11 |