[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-multimedia
Subject:    Re: Noatun- News of the exosecond
From:       Stefan Westerfeld <stefan () space ! twc ! de>
Date:       2000-07-11 18:24:58
[Download RAW message or body]

   Hi!

On Tue, Jul 11, 2000 at 02:49:43PM +0200, Martin Vogt wrote:
> On Tue, Jul 11, 2000 at 12:02:09AM -0700, Charles wrote:
> > 
> > 
> > I was working on reparenting the "kmpg" window into Noatun's video frame, but
> > was unsuccessful.  I think that has something to do with shared memory and how
> > mpeglib communicates with X.  We need to find a way to give aRts (and mpeglib)
> > the Window ID of the window to paint in, rather than painting in another one. 
> > Noatun should also be aware of: video size, and if it's actually video being
> > played.
> >
> 
> This needs some rewrite. To do it we need:
> 
> 1) change the KMedia2 interface. Maybe having additional parameters
>    to the loadMedia call.

We don't need to change the existing interfaces, it should be sufficient to
add a new interface for X11PlayObject's, which is then implemented besides
the normal PlayObject interface.

> 2) have some interface between the PlayObject:
>    - query the supported X11 features
>      * doublesize
>      * fullscreen
>      * XV support possible.
> 
>    - set resources:
>      * doublesize
>      * fullscreen
>      * any size
> 
> [...]
> 
> We have some kind of video support. Reparenting is not necessary, but
> it would be a nice feature and should be included.
> Maybe for KDE 3.0, when arts gets video support?        

Well, until KDE 3.0, two or three years will probably pass, thats the issue.
So if somebody would like to do it, I am for having reparenting before KDE
3.0, without "proper" video support in aRts.

I am currently deeply buried inside Soundserver/MCOP details myself, so I
probably can't help much with it. There are features missing here, too. If
somebody drafts an interface in IDL, I can probably have a look at it, though,
and help out with IDL details.

As I said, it should ONLY implement the additional stuff, and would be
supported additionally to the normal PlayObject interface. We also have
the option to put it not into kdelibs, but into kdemultimedia (some of the
experimental stuff, like midi, hard disk recording, synchronization, etc.
will probably end up there, as it shouldn't be something people should
rely on, as these interfaces are not considered to be stable for KDE2.0).

A very simplified version of what I mean is:

module Arts {
	interface X11PlayObject {
		readonly attribute bool isEmbedded;

		void startEmbed(long windowID);
		void stopEmbed();

		/* other features like size querying, etc., here */
	};
};

It would be declared in the mpeglib IDL like

interface MPGPlayObject : Arts::PlayObject, Arts::X11PlayObject
{
};

And in the noatun source like

Arts::PlayObject playObject = ...;		/* normal PlayObject assigned here */

Arts::X11PlayObject x11p = Arts::DynamicCast(playObject);
if(!x11p.isNull())
{
	/* wow, cool, we can use embedding here */
	x11p.startEmbed(...);
}

   Cu... Stefan
-- 
  -* Stefan Westerfeld, stefan@space.twc.de (PGP!), Hamburg/Germany
     KDE Developer, project infos at http://space.twc.de/~stefan/kde *-         
_______________________________________________
Kde-multimedia mailing list
Kde-multimedia@master.kde.org
http://master.kde.org/mailman/listinfo/kde-multimedia

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic