From E.Velds@balpol.tudelft.nl Wed, 08 Dec 1999 01:29:14 +0100
Date: Wed, 08 Dec 1999 01:29:14 +0100
From: Edwin Velds E.Velds@balpol.tudelft.nl
Subject: [Livid-dev] Multimedia Framework

Hi Guys,

A while ago I was messing around on my win95 DVD partition. I had just
installed DirectX media (needed by some DVD player software and ripping
tools) and was trying a tool called graphedit. This tool shows that all
elements in the multimedia framework (mpeg/avi demuxers, decoders,
encoders, display, files) are filters with input and output pins that I
could connect in whatever way I needed them. This gave me an opportunity
to do some things I didn't have a specific tool for before.

Linux doesn't have any multimedia system (that I'm aware of) that is
flexible enough. This might be nice time to start something like this.

When done right (you guessed it, M$ messed some things up as usual), a
filter approach like DirectMedia would be perfect. It's very flexible
and fairly easy to understand. Binary-only filters for closed codecs are
no problem. As output to display would just be another filter in the
chain, we have a simple way to deal with different configurations.
Dereks ideas for a dvdd can fit very well in this model too.

It's probably not as fast as a monolithic approach, but flexibility
should be worth something too.

Please comment, ask questions (not everybody will be familiar with
DirectMedia) and flame (if this doesn't generate them, what will ? :) as
much as possible.

Edwin

From pvolcko@concentric.net Tue, 7 Dec 1999 19:57:46 -0500 (EST)
Date: Tue, 7 Dec 1999 19:57:46 -0500 (EST)
From: pvolcko@concentric.net pvolcko@concentric.net
Subject: [Livid-dev] Multimedia Framework

> A while ago I was messing around on my win95 DVD partition. I had just
> installed DirectX media (needed by some DVD player software and ripping
> tools) and was trying a tool called graphedit. This tool shows that all
> elements in the multimedia framework (mpeg/avi demuxers, decoders,
> encoders, display, files) are filters with input and output pins that I
> could connect in whatever way I needed them. This gave me an opportunity
> to do some things I didn't have a specific tool for before.
> 
> Linux doesn't have any multimedia system (that I'm aware of) that is
> flexible enough. This might be nice time to start something like this.
> 
> When done right (you guessed it, M$ messed some things up as usual), a
> filter approach like DirectMedia would be perfect. It's very flexible
> and fairly easy to understand. Binary-only filters for closed codecs are
> no problem. As output to display would just be another filter in the
> chain, we have a simple way to deal with different configurations.
> Dereks ideas for a dvdd can fit very well in this model too.
> 
> It's probably not as fast as a monolithic approach, but flexibility
> should be worth something too.
> 
> Please comment, ask questions (not everybody will be familiar with
> DirectMedia) and flame (if this doesn't generate them, what will ? :) as
> much as possible.

This is what GMF and what the LSDVD teams efforts are likely going to model,
the Microsoft DirectShow/Media interfaces.  Of all the things MS really does
poorly, the media system in Windows isn't one of them.  At least conceptually
speaking.

This is definitely the direction to be taking this stuff.  Also note that this
will be very effective for encoding support as well.  The parts of this are
just transform filters.  For dvd playback the chain would be:

VOB source Filter -> VOB Demux Filter -> AC-3 Decode -> ALSA Output Filter
                           \\
                            \\------> MPEG-2 Decode -----\  
                             \------> SubPicture Decode --> Xv Output Filter

But there is no reason that the mpeg-2 Decode couldn't be a mpeg-1 encode
or something similar.  It's just inputs and outputs.  

This is the final goal of the LSDVD project, to make (or contribute to an
existing) framework that will implement this cleanly and extensibly.  Also to
provide a robust player application that utilizes this framework.

Paul Volcko
LSDVD