[gst-devel] Re: rhythmbox: gstreamer vs xine
jorn at nl.linux.org
Mon Jan 13 08:18:06 CET 2003
On Mon, 2003-01-13 at 12:02, Bastien Nocera wrote:
> On Sun, 2003-01-12 at 21:03, Jorn Baayen wrote:
> > Hi,
> > I'm mailing to let you know I have been moving CVS Rhythmbox
> > (monkey-media) to use xine instead of GStreamer. While I prefer the
> > gnomishness of the GStreamer API over xine, GStreamer is still not very
> > stable, and xine just works. Since I would like everyone (including
> > myself *G*) to be able to start seriously using rb I decided to use xine
> > for now.
> > I will however be moving back to gstreamer once it is more usable.
> > Well, I hope y'all will forgive me ;)
> It's a shame you don't use the GtkXine widget anymore. The issues you
> had with it could have been easily fixed. And Thomas was interested in
> porting it to Gst at some point. We could have had 2 apps ported using
> the same code, you could have the niceties of using a G* API rather than
> the raw xine API.
> Furthermore you would have got visualisation for free. And making it use
> xine/gst to fetch the metadata would be a doodle. I'm pretty sure we
> could find an API that would make both of these backends wrappable so
> apps can use monkey-media for audio/video playback.
RB doesn't use the raw xine API atm, I ported monkeymedia (although with
some API changes) to xine. The monkeymedia metadata implementation
already supoprts different backends, just used to switch between the
ogg, mp3, and flac code atm, but it could be used too to swithc between
gstreamer and xine.
It would be easy to make MonkeyMediaPlayer support multiple backends
too, might do that sometime.
I didn't use GtkXine because a) I didn't want to depend on both that and
monkeymedia, and b) I don't need all gtkxine's stuff, the little thing I
wrote yesterday is a lot smaller (and has some other advantages for rb,
like for example error handling with GError, 'instant eos' (ie not
emitted from an idle, which is useful for playlist-based apps)).
Most of these things could probably have been fixed in gtkxine, indeed,
and I may very well move back to using that soon. However writing this
was very useful for me, since I now know xine a bit better (which is
useful when trying to nail bugs).
More information about the gstreamer-devel