BMPx and GStreamer
 
Article Discussion Edit History

Contents

GStreamer.png

[edit] General Setup

Please also see 'What can I play with BMPx?'


[edit] Using GStreamer built from source

You can get the following components from the GStreamer Source Downloads. You should build these all to have the maximal amount of possible file types to play back.

  • gstreamer
  • gst-plugins-base
  • gst-plugins-good
  • gst-plugins-bad
  • gst-plugins-ugly
For MP3 playback; make sure you have mad/libmad and mad-devel/libmad-devel or whatever the appropriate package name on your system is installed before compiling gst-plugins-ugly
  • gst-ffmpeg
For additional filetypes like WMA


[edit] Using GStreamer pre-packaged

Various OS's and/or Linux Distributions package GStreamer really differently. There is no common way to tell how the packages are split up.

Gentoo users should be the most cautious ones probably as Gentoo has split up GStreamer 0.10 into a huge amount of sub-packages (i.e. the mad (mp3) plugin is normally part of gst-plugins-ugly, but Gentoo has made a separate ebuild for it, gst-plugins-mad, just as one example).

Debian might not have the packages in your allowed repositories. On enabling other repositories (and the involved risks), see Apt Pinning. To get musepack (.mpc files) support, you need to install musepack-decoder from the Rarewares repository; download gstreamer0.10-plugins-bad from Ubuntu Dapper or gstreamer0.10-plugins-bad-multiverse (for amd64) if the mentioned packages are still unavailable natively; then sudo dpkg -i <package> (which will report broken dependencies), sudo apt-get -f install (which will fix the dependencies).


[edit] Checking your installation

Run each of those commands to test your GStreamer installation for a particular playback capability. If any of those returns "No such element", then you need to install the appropriate plugins if you want to play this kind of files.

  • MP3:
 gst-inspect id3demux
 gst-inspect mad


  • OGG Vorbis:
 gst-inspect oggdemux
 gst-inspect vorbisdec


  • MPC:
 gst-inspect musepack


  • WMA:
 gst-inspect ffmpeg


  • M4A/MP4:
 gst-inspect faad


  • FLAC:
 gst-inspect flac

[edit] Testing all the pipeline

Run the following command to test your GStreamer pipeline. If you can hear sound, and bmpx still doesn't play, please report the bug.

 gst-launch filesrc location=/filename/to/play ! decodebin ! audioconvert ! alsasink
Note

If you want to test stream playback, replace filesrc with gnomevfssrc or neonhttpsrc.

[edit] Additional Playback Features

[edit] HTTP Streams

To be able to play http:// streams, you need either the gst element gnomevfssrc or neonhttpsrc installed. You can check for their presence by running:

 gst-inspect gnomevfssrc

or

 gst-inspect neonhttpsrc

respectively. If those output anything except an error message then you have them installed.

neonhttpsrc is part of gst-plugins-bad and depends on libneon. gnomevfssrc is part of gst-plugins-base and depends on GnomeVFS which in turn depends on a bunch of GNOME libs, so if you don't have these installed you're better off installing libneon and building gst-plugins-bad for streams support via neonhttpsrc


[edit] Audio CDs

Audio CD playback in BMPx is provided via cdparanoiasrc which is part of gst-plugins-base and depends on cdparanoia which should be already present on most systems. You can check for it the same as for the other elements:

 gst-inspect cdparanoia
 

If it shouldn't be there, please install cdparanoia and appropriate development packages for it, and rebuild gst-plugins-base

[edit] Checking with the GUI

For both the above mentioned capabilities, BMPx has status information in the Preferences window. Open "Preferences" and select the "Audio" category. Under the "Capabilities" tab, you will see the status indicators like this:


Image:Audio-support-2.png
1) Audio Support indicators


If any of those indicators are grey (not green as in the example) then please check your system for the GStreamer components as described above.

[edit] Error Codes

Trying to play unsupported types in bmpx will give the following message. It is a gstreamer message/error telling you the plugin isn't installed.

 gstbasesrc.c(1569): gst_base_src_loop (): /pipeline_file/src:
 streaming task paused, reason not-linked (-1)
Log in / create account
This page has been accessed 10,413 times.