Programs <command>gst-register</command> gst-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, by default, in /etc/gstreamer/reg.xml. <command>gst-launch</command> This is a tool that will construct pipelines based on a command-line syntax. FIXME: need a more extensive grammar reference A simple commandline looks like: gst-launch filesrc location=hello.mp3 ! mad ! osssink A more complex pipeline looks like: gst-launch filesrc location=redpill.vob ! mpegdemux name=demux \ demux.audio_00! { ac3parse ! a52dec ! osssink } \ demux.video_00! { mpeg2dec ! xvideosink } 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; GError *error = NULL; gst_init (&argc, &argv); if (argc != 2) { g_print ("usage: %s <filename>\n", argv[0]); return -1; } pipeline = gst_parse_launch ("filesrc name=my_filesrc ! mad ! osssink", &error); if (!pipeline) { g_print ("Parse error: %s\n", error->message); exit (1); } 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>gst-inspect</command> This is a tool to query a plugin or an element about its properties. To query the information about the element mad, you would specify: gst-inspect mad Below is the output of a query for the osssink element: Factory Details: Long name: Audio Sink (OSS) Class: Sink/Audio Description: Output to a sound card via OSS Version: 0.3.3.1 Author(s): Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim.taymans@chello.be> Copyright: (C) 1999 GObject +----GstObject +----GstElement +----GstOssSink Pad Templates: SINK template: 'sink' Availability: Always Capabilities: 'osssink_sink': MIME type: 'audio/raw': format: String: int endianness: Integer: 1234 width: List: Integer: 8 Integer: 16 depth: List: Integer: 8 Integer: 16 channels: Integer range: 1 - 2 law: Integer: 0 signed: List: Boolean: FALSE Boolean: TRUE rate: Integer range: 1000 - 48000 Element Flags: GST_ELEMENT_THREADSUGGESTED Element Implementation: No loopfunc(), must be chain-based or not configured yet Has change_state() function: gst_osssink_change_state Has custom save_thyself() function: gst_element_save_thyself Has custom restore_thyself() function: gst_element_restore_thyself Clocking Interaction: element requires a clock element provides a clock: GstOssClock Pads: SINK: 'sink' Implementation: Has chainfunc(): 0x40056fc0 Pad Template: 'sink' Element Arguments: name : String (Default "element") device : String (Default "/dev/dsp") mute : Boolean (Default false) format : Integer (Default 16) channels : Enum "GstAudiosinkChannels" (default 1) (0): Silence (1): Mono (2): Stereo frequency : Integer (Default 11025) fragment : Integer (Default 6) buffer-size : Integer (Default 4096) Element Signals: "handoff" : void user_function (GstOssSink* object, gpointer user_data); To query the information about a plugin, you would do: gst-inspect gstelements <command>gst-play</command> A sample media player.