[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bongo-devel] Bach: brand new GStreamer-based backend player

From: Daniel Brockman
Subject: [bongo-devel] Bach: brand new GStreamer-based backend player
Date: Tue, 06 Feb 2007 23:29:20 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/23.0.51 (gnu/linux)

Check this out:

Attachment: binfIfJPuBcDr.bin
Description: application/c

I compile it using this Makefile:

LDFLAGS=`pkg-config --libs gstreamer-0.10`
CFLAGS=`pkg-config --cflags gstreamer-0.10`
bach: bach.c

Here is some Bongo backend glue:

Attachment: binUAL_EMobFy.bin
Description: application/emacs-lisp

I wrote this because I couldn't find any good-looking and
nicely scriptable GStreamer-based media players.

(It might have been partly because I was a little fed up
with fighting pointless annoying obstacles --- such as the
ones abundantly provided by MPlayer and VLC.)

My thought here is that Bach could develop into a dedicated
backend media player for Bongo.  Since we have full control
over the source code, of course, we can make it do whatever
we want it to!

Here are some ideas:

 * When Bach is playing video, it could inherit key bindings
   from Emacs (especially from Bongo).  For example, we could
   make sure that the visual seeking interface in Bongo share
   its key bindings with Bach.

 * Bach could let Bongo know when it plays a video stream.
   Knowing that a video had been displayed, Bongo could then
   choose to stop playback.  (Daniel Jensen once wrote a
   hack to do this by matching file types.)

 * Here's a cool one:  We could implement crossfading! :-)

 * Now consider streaming media.  We would have enough
   control that we could implement full interactivity
   between Bongo and Bach in that area.  Bongo could easily
   be made aware of the stream buffer status and dynamically
   changing stream metadata.

 * Finally, two words:  Error.  Messages.

What do you think?  Seem worthwhile?

Seem fun?

Daniel Brockman <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]