[ecasound] -z:db is back!

New Message Reply Date view Thread view Subject view Author view Other groups

Subject: [ecasound] -z:db is back!
From: Kai Vehmanen (k@eca.cx)
Date: Mon Nov 20 2000 - 20:29:27 EET


Ok, after few intense days of coding, the first working version of the new
double-buffering layer is now working. I just put the current code in
ecasound's CVS-tree. The whole thing has been rewritten. Now all
non-realtime audio object types are supported (yup, also things like mp3,
ogg, standard input and output streams, etc!), and works both for input
and output.

The basic idea is simple, add a _big_ buffer (defaults to
256kB) between non-realtime audio objects and the engine. This
means we are buffering upto 1-2secs of audio. It's important to note
however that this only helps to fight against disk i/o
latency. Process scheduling latencies will continue to cause problems.

Some random notes:
- this is beta code and there are still many things that are only
  partially implemented
        - performance under realtime priority (-r) is not optimal
        - only pthread_locking is used; platform specific optimizations
          (=lock free, atomic operations) will improve performance
- if you can, test this! I need to know how this works under
  different setups (different kernel versions, drives, etc behave
  differently -> I need to tune lots of parameters)
- using -z:db without any realtime objects doesn't work properly
- currently lots of debug info is printed to stderr; if there
  are under/overruns, ecasound will exit immediately

Oh, using the new db-mode is easy. Just add -z:db to the command-line and
that's it.

-- 
 . http://www.eca.cx ... [ audio software for linux ] /\ . 
 . http://www.eca.cx/aivastus ... [ aivastus net radio ] /\ . 
 . http://www.eca.cx/sculpscape [ my armchair-tunes mp3/ra/wav ]

-- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request@wakkanet.fi>.


New Message Reply Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Mon Nov 20 2000 - 19:54:13 EET