Programs <command>gstreamer-config</command> gstreamer-config is a script to get information about the installed version of GStreamer. This program "knows" what compiler switches are needed to compile programs that use GStreamer. gstreamer-config accepts the following options: Print the currently installed version of GStreamer on the standard output. Print the linker flags that are necessary to link a GStreamer program. Print the compiler flags that are necessary to compile a GStreamer program. If specified, use PREFIX instead of the installation prefix that GStreamer was built with when computing the output for the and options. This option is also used for the exec prefix if was not specified. This option must be specified before any or options. If specified, use PREFIX instead of the installation exec prefix that GStreamer was built with when computing the output for the and options. This option must be specified before any or options. A simple Makefile will contain something like: CC = gcc helloworld2: helloworld2.c $(CC) -Wall `gstreamer-config --cflags --libs` helloworld2.c -o helloworld2 clean: rm -f *.o helloworld2 <command>gstreamer-register</command> gstreamer-register is used to rebuild the database of plugins. It is used after a new plugin has been added to the system. The plugin database can be found in /etc/gstreamer/reg.xml. <command>gstreamer-launch</command> This is a tool that will construct pipelines based on a command-line syntax. A simple commandline looks like: gstreamer-launch filesrc location=hello.mp3 ! mp3parse ! mpg123 ! audiosink A more complex pipeline looks like: gstreamer-launch filesrc redpill.vob audio_00! (ac3parse ! ac3dec ! audiosink) \ video_00! (mpeg2dec ! videosink) Note that the parser isn't capable of more complex pipelines yet, including the VOB player above. The minor tweaks will be made post 0.2.1. You can also use the the parser in you own code. GStreamer provides a function gst_parse_launch () that you can use to construt a pipeline. The following programs lets you create an mp3 pipeline using the gst_parse_launch () function: #include <gst/gst.h> int main (int argc, char *argv[]) { GstElement *pipeline; GstElement *filesrc; gst_init (&argc, &argv); if (argc != 2) { g_print ("usage: %s <filename>\n", argv[0]); return -1; } pipeline = gst_pipeline_new ("my_pipeline"); gst_parse_launch ("filesrc[my_filesrc] ! mp3parse ! mpg123 ! osssink", GST_BIN (pipeline)); filesrc = gst_bin_get_by_name (GST_BIN (pipeline), "my_filesrc"); g_object_set (G_OBJECT (filesrc), "location", argv[1], NULL); gst_element_set_state (pipeline, GST_STATE_PLAYING); while (gst_bin_iterate (GST_BIN (pipeline))); gst_element_set_state (pipeline, GST_STATE_NULL); return 0; } Note how we can retrieve the filesrc element from the constructed bin using the element name. <command>gstreamer-inspect</command> This is a tool to query a plugin or an element about its properties. To query the information about the element mpg123, you would specify: gstreamer-inspect mpg123 Below is the output of a query for the audiosink element: Factory Details: Long name: Audio Sink (OSS) Class: Sink/Audio Description: Output to a sound card via OSS Version: 0.1.0 Author(s): Erik Walthinsen <omega@cse.ogi.edu> Copyright: (C) 1999 Pad Templates: SINK template: 'sink' Exists: Always Capabilities: 'audiosink_sink': MIME type: 'audio/raw': format: Integer: 16 depth: List: Integer: 8 Integer: 16 rate: Integer range: 8000 - 48000 channels: Integer range: 1 - 2 Element Flags: GST_ELEMENT_THREADSUGGESTED no flags set Element Implementation: No loopfunc(), must be chain-based or not configured yet Has change_state() function Pads: SINK: 'sink' Implementation: Has chainfunc(): 0x4001cde8 Has default eosfunc() gst_pad_eos_func() Pad Template: 'sink' Capabilities: 'audiosink_sink': MIME type: 'audio/raw': format: Integer: 16 depth: List: Integer: 8 Integer: 16 rate: Integer range: 8000 - 48000 channels: Integer range: 1 - 2 Element Arguments: GstAudioSink::mute: Boolean GstAudioSink::format: Enum (default 16) (8): 8 Bits (16): 16 Bits GstAudioSink::channels: Enum (default 2) (1): Mono (2): Stereo GstAudioSink::frequency: Integer To query the information about a plugin, you would do: gstreamer-inspect gstelements <command>gstmediaplay</command> A sample media player.