[Rhythmbox-devel] Plugin can now add to the GStreamer pipeline in Trunk
- From: "James \"Doc\" Livingston" <doclivingston gmail com>
- To: Rhythmbox-devel list <rhythmbox-devel gnome org>
- Subject: [Rhythmbox-devel] Plugin can now add to the GStreamer pipeline in Trunk
- Date: Sat, 03 Mar 2007 00:00:02 +1100
I've just committed a patch to SVN trunk which allows plugins to add
elements to the GStreamer pipeline. This allows you to put filters in
the pipeline to alter audio (e.g. the equaliser at ), or get a copy
of the audio to do stuff with (e.g. send over the network).
Details for anyone who wants to use this to do things
There are three new interfaces that RBPlayer backends can implement,
RBPlayerGstTee, RBPlayerGstFilter and RBPlayerGstDataTee - the
RBPlayerGst backend currently implements the first two, and will
probably implement the third in the future.
Each of the interfaces adds two function, e.g. rb_player_gst_tee_add_tee
and rb_player_gst_tee_add_tee. You just pass the element you want to add
to these, if you need to add linked elements, put them in a GstBin
Some sample code (in python), for a poor-mans visualisation:
goom = gst.element_factory_make ("goom")
sink = gst.element_factory_make ("ximagesink")
colour = gst.element_factory_make ("ffmpegcolorspace")
b = gst.Bin()
b.add (goom, colour, sink)
If anyone has any questions, issues, or cool idea of what we could use
this for, please let us know.
James "Doc" Livingston
"Some people think that noise abatement should be a higher priority for
ATC. I say safety is noise abatement. You have no idea how much noise it
makes to have a 737 fall out of the sky after an accident."
-- anon. air traffic controller
] [Thread Prev