Udo Richter wrote: > Hi list, > > I've been hunting down a bandwidth problem in my little streaming > plugin, and finally realized that the performance bottleneck actually is > cRemux and its internal resultBuffer. > > The resultBuffer is initialized with resultBuffer->SetTimeouts(0, 100), > in other words, if no data is available, cRemux::Get will wait up to > 100ms for data to arrive. Thats fine as long as cRemux is filled from > another thread, but wastes time if cRemux is only filled from within the > same thread. > > Unfortunately, the resultBuffer is completely hidden inside the cRemux, > so I cannot change this behavior. Does anyone have good ideas how to > avoid this without spawning another thread? (the thread would actually > just copy data from one buffer to another...) > > This resultBuffer is really some kind of black hole, no way to control > it, no way to know how much is in it... Well, we could introduce cRemux::SetTimeouts(int PutTimeout, int GetTimeout) { resultBuffer->SetTimeouts(PutTimeout, GetTimeout); } Klaus