From kde-multimedia Sat Jan 26 18:16:19 2002 From: Stefan Westerfeld Date: Sat, 26 Jan 2002 18:16:19 +0000 To: kde-multimedia Subject: Re: Video Planning Meeting X-MARC-Message: https://marc.info/?l=kde-multimedia&m=101206925026303 Hi! On Sat, Jan 26, 2002 at 04:57:14PM +0100, Tim Jansen wrote: > On Saturday 26 January 2002 12:01, Martin Vogt wrote: > > Before we can speak about demuxers and > > mpeg/divx/quicktime video player in arts > > Correct me if I misunderstand Arts/mcop, but as far as I have seen it is not > possible to send encoded data (asynchronous streams) to a module without > copying the data into a DataPacket. This is probably something you want to > change for video en-/decoding and formats that allow zero-copying demuxing by > passing pointers. Right. It might be enough to add some way to supply customly allocated data to the DataPacket (so that it doesn't alloc/free on its own), which would also help to do zero-copy demarshalling from wire in some cases. > > Result: For performance reasons we need to use shared mem, > > but its not possible to use it always. > > Is there an application that needs to transfer images from/to arts in > realtime? Wouldn't it be easier to do everything inside the arts process, at > least for now? Yes, I agree that you might not want to transfer images over wire unless absolutely necessary. And if you do: don't use TCP/Unix domain sockets, but sharedmem, thats right. > An application that needs more functionality than arts provides should write > a module. Even if you would use shared memory the processes need some other > form of IPC for access synchronization and you must hope that the kernel > really does all 60 context switches (arts->app->arts) per second that you > need for 30fps video. This seems to make problems for audio data (where the > cpu load is relatively low) and would make even more problems with video. Of course it is debatable whether you want to pass video images between seperate processes. However, if you're just wondering about 30 client/server roundtrips per second, this should be really harmless: the benchmarks I did with artsd calling an empty MCOP method over and over again indicated that you could do about 9000 client/server roundtrips (on some 350Mhz PII), which means that you'd spend 0.33% CPU usage for the roundtrips for a 30fps video stream. 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@mail.kde.org http://mail.kde.org/mailman/listinfo/kde-multimedia