From: James Courtier-D. <Ja...@su...> - 2004-05-01 20:07:54
|
Michael Roitzsch wrote: > Hi James, > > >>I would like to create a new directory in the xine-lib tree for Audio >>filters. We have the "post" directory, by that only has video filters, >>so I would like to create a different directory for audio filters. >> >>What name should I use, and where should I put it? > > > How about src/post/audio? Ok. I will use that. > > >>Audio filters are much more efficient if the sample is taken, all filter >>operations applied to it, resulting in an output sample, rather than >>sending a block of samples through one plugin, then passing that block >>to the next plugin etc. The block mode results in a lot more memcpy's >> >>So, I would like to be able to chain the processing on a particular >>sample, instead of chaining the audio block to go through one plugin, >>then through the next. > > > But that sounds rather inefficient. Do you propose to call a processing > function for each sample? That is quite some overhead. > > Michael > I agree. I will do block processing then. On another note, why did you decide to use a "decorator design pattern" for post plugins. It is probably your use of that design, that has caused you to need tickets and messy stuff like that. There are other probably better approaches to solve the problem. An individual post plugin should not have to care if it is in the chain or not. xine-engine should handle all that. the post plugin should simply get called by the xine-engine and then return when it has done it's processing on the audio/video frame. Some documentaton in the hackers guide might be helpful. There is no mention of post plugins in the hackers guide. :-( The only plugins so far are visualisation plugins, and de-interlacers. If I have a plugin that I want to make sure it goes after any visualisation plugin, but before audio out, and I don't want it to touch the video frame, only the audio data. Where do I start? Cheers James |