[gst-devel] GStreamer wrappers for KDE/Qt
Christian Fredrik Kalager Schaller
Uraeus at linuxrising.org
Sun Aug 18 10:31:00 BST 2002
This is really cool Tim, thanks for the great work. AS a sidenote maybe
it would be a good idea to mirror the bindings code in GStreamer CVS
also?
Christian
On Sat, 2002-08-17 at 18:46, Tim Jansen wrote:
> Hi..
>
> At the last KDE multimedia/arts meeting, the (few) participating people agreed
> to split the next-generation multimedia system into three parts:
> 1. a sound server
> 2. a multimedia framework
> 3. something for music creation/synthesis
> Here is my contender for number 2.
>
> I have written wrappers for GStreamer (http://gstreamer.net). Most classes and
> functions have been translated 1:1 to C++/Qt. This should be almost
> everything that you need to write GStreamer applications with a Qt'ish
> feeling. You can find the code in KDE CVS, kdenonbeta/gst
> (http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdenonbeta/gst). To get a first
> impression of the API, see the short example at the end of the mail. You can
> find more complete examples, including a gui-based video player, in the
> repository.
>
> What's still missing?
> - support for dynamic parameters
> - testing, most wrapper functions have not been tested yet (I don't expect
> many bugs though, most implementations have 1-2 lines)
> - please note that GStreamer itself is not mature yet
>
> What's next?
> - backend-independent KPlayObject and KVideoWidget-equivalents to allow easy
> porting of existing apps and to allow developers to use audio/video without
> GStreamer knowledge
> - KIO-based source and sink elements for a better integration with KDE-apps
>
>
> - snip! ----- Example --------------------------------------------------------
> /* Play mp3, function blocks until finished, all error handling removed */
> void playMp3(const QString &file) {
> Pipeline *bin;
> Element *filesrc, *decoder, *osssink;
>
> /* create a pipeline to hold the elements */
> bin = new Pipeline();
>
> /* create a disk reader */
> filesrc = ElementFactory::make("filesrc");
> filesrc->setString("location", file);
>
> /* get the mp3 decoder */
> decoder = ElementFactory::make("mad");
>
> /* and an audio sink (OSS based) */
> osssink = ElementFactory::make("osssink");
>
> /* add objects to the pipeline */
> bin->add(filesrc, decoder, osssink);
>
> /* connect the elements in the pipeline*/
> filesrc->connect(decoder)
> decoder->(osssink);
>
> /* start playing */
> bin->setState(Element::STATE_PLAYING);
> while (bin->iterate());
>
> /* stop the bin and delete it */
> bin->setState(Element::STATE_NULL);
> delete bin;
> }
>
>
> bye...
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by: OSDN - Tired of that same old
> cell phone? Get a new here for FREE!
> https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
More information about the kde-multimedia
mailing list