Re: Synchronization problem in 10.2: physical memory
Re: Synchronization problem in 10.2: physical memory
- Subject: Re: Synchronization problem in 10.2: physical memory
- From: Michel <email@hidden>
- Date: Sat, 5 Oct 2002 01:34:10 +0100
On Friday 04 October 2002 23:37, Michel wrote:
>
What I SUSPECT happends is that when the second client arrives, the
>
calculation as to where it's samples should go fails because their time
>
stamp is too old, thus it's destination wraps back the buffer into the
>
'future' of it. and thus gets overriten by the mixer when it arrives at
>
that point for the client 1.
There, I tried 2048 samples, and the mixing problem vanished. Completely. I
play with up to 5 clients and the sound is perfect.
Maybe that could be documented. somewhere, "do not use < 2048 samples" in the
IOLog ;-)
For the other problem related to the memory, I'm building a class that throws
together IOMallocContiguous and IOMemoryDescriptor. You configure it with a
minimum segment size, and a wanted size. It uses IOMallocContiguous to make
up segments, builds up an IOMemoryDescriptor with those, map() them for
IOAudioEngine sake.
That way I can limit the frequency of the swapping interrupts. Further tests
with IOMalloc + IOMemoryDescriptor::getPhysicalSegments are all showing the
same: it is impossible to get a segment bigger than ONE page.
Michel
--
Linux yawn 2.4.19-ac4 #49 Tue Aug 6 10:13:51 BST 2002 i686
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.