From 8f65d6cb2bb93795bde923274a4ede0156390de2 Mon Sep 17 00:00:00 2001 From: rossb Date: Wed, 15 May 2002 17:56:59 +0000 Subject: [PATCH] added note to latency proposal -> Pa_GetMinNumBuffers() will be removed from API --- docs/proposals.html | 64 +++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/docs/proposals.html b/docs/proposals.html index 782c24b..6d10fda 100644 --- a/docs/proposals.html +++ b/docs/proposals.html @@ -21,7 +21,7 @@ name=KeyWords>

PortAudio Home Page

-

Updated: May 14, 2002

+

Updated: May 16, 2002

Introduction

This document describes modifications to the PortAudio API currently being considered by the developer community. It is intended to capture the current state of discussions. The authors are the various members of the PortAudio community and are too numerous to mention. Please refer to the mailing list archives to see who said what.

We are still at the design stage with all of these proposals - if you think something is missing, could be improved, or would just like to comment please do so on the PortAudio mailing list.

@@ -33,14 +33,14 @@ name=KeyWords>
  • Improve Device Format Query System *
  • Improve Latency Mechanisms *
  • Allow Callbacks to Accept Variable framesPerBuffer *
  • -
  • Blocking Read/Write API
  • +
  • Blocking Read/Write API
  • Non-Interleaved Buffers
  • Support for Multiple Host APIs in a Single PortAudio Build |C|
  • Host API Specific Pa_OpenStream() Parameters |C|
  • Handling of Host API Specific Error Codes *
  • Rename Pa_GetCPULoad() and paInvalidDeviceId for Consistency
  • Additional Pa_Terminate() Behaviour
  • -
  • Coding Style Guidelines *
  • +
  • Coding Style Guidelines *
  • Revise Internal Host API *
  • The proposals above which are marked with a * are under construction, those marked with |C| are essentially complete but require community approval or comment before they are considered complete. The remaining proposals are essentially complete and will be implemented as-is unless significant objections are raised.

    @@ -62,20 +62,20 @@ name=KeyWords>

    Proposal

    For streams providing input, the inputBuffer parameter will always point to a valid memory location containing framesPerBuffer frames of sample data in the requested format. The inputBuffer parameter will be NULL for output only streams. Similarly, the outputBuffer parameter will be NULL for input only streams, otherwise it will point to a valid memory location containing framesPerBuffer frames of sample data.

    A new parameter will be added to the PortAudioCallback Function that gives the status of the data as bit flags.

    -
    typedef int (PortAudioCallback)( 
    -  void *inputBuffer, void *outputBuffer, 
    -  unsigned long framesPerBuffer, 
    -  PaTimestamp outTime, 
    -  unsigned long  statusFlags,
    -  void *userData ); 
    -
    -These bits may be set in the statusFlags parameter. 
    -#define paInputUnderflow   (1<<0) /* Input data is all zeros because no real data is available. */ 
    +
    +typedef int (PortAudioCallback)(
    +  void *inputBuffer, void *outputBuffer,
    +  unsigned long framesPerBuffer,
    +  PaTimestamp outTime, 
    +  unsigned long statusFlags,
    +  void *userData );
    +

    These bits may be set in the statusFlags parameter.

    +
    +#define paInputUnderflow   (1<<0) /* Input data is all zeros because no real data is available. */ 
     #define paInputOverflow    (1<<1) /* Input data was discarded by PortAudio */
    -#define paOutputUnderflow  (1<<2) /* Output data was inserted by PortAudio because the callback is using too much CPU */
    -#define paOutputOverflow   (1<<3) /* Output data will be ignored because no room is available. */
    -
    -

    New rules will govern when the PortAudioCallback is called:

    +#define paOutputUnderflow (1<<2) /* Output data was inserted by PortAudio because the callback is using too much CPU */ +#define paOutputOverflow (1<<3) /* Output data will be ignored because no room is available. */
    +

    New rules will govern when the PortAudioCallback is called: