[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How much Real-Time do I really need?




    I have a project that analyses audio data on-the-fly.
At times, my processing can not be completed in real-time.

    In this case, i CANNOT drop data, but I CAN skip some
processing.  So I want to have a large buffer on the audio
stream (several MEG).  This way, when I get several seconds behind
in my processing, I can prune my search until I catch up.

   So this is more on-the-fly than real-time.  I cannot loose data,
but I can tolerate several seconds of latency in my results.

   Can I just do this by having a high-priority pthread reading
audio data into a large circular buffer?  Or...  will I need to 
do something more low-level and real-time.
(I am experienced in several RTOS's, but not RTL)
Sorry for the newbie question...  but what RT extensions are
currently popular?  Will I be writing a kernel module to maintain
my circular buffer in shared memory, or is there something
more high-level I can do?

                  aaron