[vdr] cRemux single threaded?
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Sun Jul 31 11:36:04 CEST 2005
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
More information about the vdr
mailing list