From kde-devel Sat Jul 03 20:34:47 1999 From: Stefan Westerfeld Date: Sat, 03 Jul 1999 20:34:47 +0000 To: kde-devel Subject: KDE 2.0 Multimedia Support X-MARC-Message: https://marc.info/?l=kde-devel&m=93103441525811 Hi! Here is the first result of some discussions I had with various people at Linuxtag99 about KDE2 & Multimedia. === Why === When I showed KDE to a friend of mine (who is a windows user) about a year ago, he said: "Well, actually that is interesting, but still totally useless!" When I asked him why, he would answer, that KDE can't even do such basic everyday tasks as playing videos. Well, of course, not everybody is deeply involved with graphic processing as he is, but anyway, I think there is a point in there. Having provided everything for standard "boring" applications such as a mail reader and a file manager, we don't have too much support for multi- media stuff in KDE1, and there is not much new stuff in KDE2 yet. So, I intend to care about that obviously week spot. === What === Multimedia is a large term, but I think that there should be good support for things like - Reading/writing various multimedia formats - Playing different media through uniform interface - Communication between multimedia apps - Reusable filters While some of the media types that should be actually supported are: - Midi - Images (Gif, Jpg,...) - Videos (such as Avi) - Audio-Data (Wav, Mp3,...) - perhaps 3D stuff === How === Originally, I intended to start off right away with GMF (Gnome Media Framework) or at least with the same interface. Well, I talked to Elliot, and at least the interface isn't stable yet, and he told me that it will take a month or so, before cooperation makes sense in his eyes. Well, anyway it may be a good idea to begin already with some things, and if we can/want to use GMF when it is in a usable state, go on with that. I think there are some things to be done: - Audioserver We need to think how KDE2 will handle audio output from multiple applications. There is KAudioServer2, I'll at least have a closer look at that. I am still not sure wether a thing like GMF will actually replace the audioserver, or not. Anyway, we should seek to make at least some kind of audioserver ready for inclusion in KDE2 as soon as possible. Still, esd compatibility seems to be an issue: esd aware applications should run under KDE as well. So either we directly use esd (and drop KAudioServer2), or we make KAudioServer2 esd compatible. - CORBA interfaces There should be well defined interfaces how multimedia data is exchanged between applications. GMF itself is modelled after Microsofts DirectShow as far as I have understood. Still, some component based audio technology would be good for KDE2 as well. I think of having a parallel technology to KOM/OpenParts for multimedia things as well. Not sure about that. - Libraries There should be libraries that handle support development of good multimedia applications, and reduce reinvention-of-the-wheel. For instance, playing midi data should work the same for applications, no matter if its sent to OSS, or sent to timidity, or sent through a software synthesizer. I'll probably work with Antonio Larrossa on his classes, so that we can drop one of KMid(i) in for KDE2. Playing videos should be a matter of creating a simple widget, so that KPresenter and others should be able to do that with no overhead. There is something like that around, I think (KAnim?), it just needs to go in kdelibs, so that any application can rely on it. For loading/saving samples, we could use libaudiofile, which is really nice (and now even GPLd), and write some C++ wrappers. Perhaps we can do these format issues with a similar plugin concept like KImgIO, so formats can be added on by adding one so-file. - Filters There should be video, audio and probably midi filters. These should be usable in filter graphs. I have done something like that in Arts, but I am not sure wether the Arts version is too optimized for realtime synthesis to be useful for a whole filter flowsystem for KDE. But anyway, video and audio filters should be there with a standarized interface. I think in KWave is also some filter abstraction which might be useful. === When/Process === I have some examinations (Klausuren) in two weeks. After that, I should be able to work on the various things that are to be done for "good multimedia support for KDE2". I should be able to do some more work regarding what exactly, and how exactly and examine more closely what's wrong with KDE1 multimedia support. Any of course actually start adding infrastucture and code to make something that is better ;) In any case, a well-visible project should be created and announced then, to get the different people that have done multimedia apps for KDE1 together, to make multimedia development under KDE2 easier and to avoid permanent reinvention-of-the-wheel. Cu... Stefan -- -* Stefan Westerfeld, stefan@space.twc.de (PGP!), Hamburg/Germany KDE Developer, project infos at http://space.twc.de/~stefan/kde *-