Changeset 33

Show
Ignore:
Timestamp:
10/17/02 20:01:30 (6 years ago)
Author:
rossbencina
Message:

updated v19-devel status references
minor naming corrections
minor formatting edits

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pa_proposals/trunk/008-HostAPISpecificOpenStreamParameters.html

    r12 r33  
    1818<P><A href="index.html">Enhancement Proposals Index</A>, 
    1919<A href="http://www.portaudio.com/">PortAudio Home Page</A></P> 
    20 <P>Updated: July 31, 2002 </P> 
     20<P>Updated: October 18, 2002 </P> 
    2121 
    2222 
     
    2424 
    2525<P> 
    26 This proposal is sufficiently well defined to be implemented. It has been partially implemented 
    27 in v19-devel, however the current proposal no longer utilises the PaHostApiSpecificStreamInfo 
    28 structure currently used in v19-devel. 
     26This proposal is sufficiently well defined to be implemented. It has been implemented 
     27in v19-devel. 
    2928</P>  
    3029<H4>Dependencies</H4> 
     
    3332If the PaHostApiSpecificStreamInfo structure defined in this proposal includes a PaHostApiTypeId host API identifier, then this proposal depends on the  
    3433<A HREF="007-MultipleHostAPIsInASingleBuild.html">007 - Support for Multiple Host APIs in a Single PortAudio Build</A> 
    35  
    3634proposal to define the form of the identifier. 
    3735</P> 
     
    4038 
    4139<P> 
    42 Pa_OpenStream has always had inputDriverInfo and outputDriverInfo parameters, which were defined to support passing host API specific information to PortAudio implementations. Currently these parameters are defined as void* and are not used by any implementation. Two uses of inputDriverInfo and outputDriverInfo are planned for the near future: passing device names to OSS drivers, and passing additional device ids for opening multichannel soundcards under MME. 
     40Pa_OpenStream has always had inputDriverInfo and outputDriverInfo parameters, which were defined to support passing host API specific information to PortAudio implementations. Currently (V18) these parameters are defined as void* and are not used by any implementation. Two uses of inputDriverInfo and outputDriverInfo are planned for the near future: passing device names to OSS drivers, and passing additional device ids for addressing multichannel soundcards under MME. 
    4341</P> 
    4442 
     
    4644 
    4745<P> 
    48 The inputDriverInfo and outputDriverInfo to Pa_OpenStream() will be renamed inputStreamInfo and outputStreamInfo. 
     46The inputDriverInfo and outputDriverInfo fields to Pa_OpenStream() will be moved to the PaStreamParameters structure described in <A HREF="016-UseStructsForOpenStreamParameters.html">016 - Use Structs for Pa_OpenStream() Parameters</A>. The equivalent field in this structure will be a void* field named hostApiSpecificStreamInfo. 
    4947</P> 
    5048 
     
    5553 
    5654<PRE> 
    57 #define paNullStreamInfo ((void*)0) 
    58 </P> 
     55#define paNullHostApiSpecificStreamInfo ((void*)0) 
     56</PRE> 
    5957 
    6058<P> 
     
    6563 
    6664<PRE> 
    67 unsigned long size;    /* size of whole structure including this header */ 
     65unsigned long size;          /* size of whole structure including this header */ 
    6866PaHostApiTypeId hostApiType; /* host API for which this data is intended */ 
    69 unsigned long version; /* structure version */ 
     67unsigned long version;       /* structure version */ 
    7068</PRE> 
    7169 
     
    8482<PRE> 
    8583struct{ 
    86     unsigned long size;    /* size of whole structure including this header */ 
    87         PaHostApiTypeId hostApiType; /* host API for which this data is intended */ 
    88         unsigned long version; /* structure version */ 
     84    unsigned long size;          /* size of whole structure including this header */ 
     85    PaHostApiTypeId hostApiType; /* host API for which this data is intended */ 
     86    unsigned long version;      /* structure version */ 
    8987 
    9088    char *deviceName; 
    91 }PaOSSSpecificStreamInfo; 
     89}PaOssSpecificStreamInfo; 
    9290</PRE> 
    9391 
     
    128126 
    129127typedef struct PaWinMmeStreamInfo{ 
    130     unsigned long size;    /* size of whole structure including this header */ 
    131         PaHostApiTypeId hostApiType; /* host API for which this data is intended */ 
    132         unsigned long version; /* structure version */ 
     128    unsigned long size;          /* size of whole structure including this header */ 
     129    PaHostApiTypeId hostApiType; /* host API for which this data is intended */ 
     130    unsigned long version;      /* structure version */ 
    133131 
    134132    unsigned long flags; 
     
    169167<PRE> 
    170168struct{ 
    171     unsigned long size;    /* size of whole structure including this header */ 
     169    unsigned long size;          /* size of whole structure including this header */ 
    172170    PaHostApiTypeId hostApiType; /* host API for which this data is intended */ 
    173     unsigned long version; /* structure version */ 
     171    unsigned long version;       /* structure version */ 
    174172}PaHostApiSpecificStreamInfo; 
    175173</PRE> 
     
    183181<P> 
    184182When PaHostApiSpecificStreamInfo was still declared, we intended to change the type of the 
    185 streamInfor parameters from void* to PaHostApiSpecificStreamInfo*. Some objections were raised  
    186 to this, as it may have required clients to explicitly cast to PaHostAPISpecificInfo* when passing NULL. However the added semantic and type safety advantages were considered more valuable. The current 
    187 proposal leaves these parameters as NULL. 
     183streamInfo parameters from void* to PaHostApiSpecificStreamInfo*. Some objections were raised  
     184to this, as it may have required clients to explicitly cast to PaHostAPISpecificInfo* when passing NULL. However the added semantic and type safety advantages were considered more valuable. The current proposal leaves these parameters as void*. 
    188185</P> 
    189186 
     
    196193 
    197194<P> 
    198 This proposal provides access to new platform-specific extensions. No existing client code will be modified. Only implementations that implement the extensions will be effected. Depending on the compiler used, clients passing NULL for inputStreamInfo and outputStreamInfo may need to explicitly cast to (PaHostAPISpecificInfo*). 
     195This proposal provides access to new platform-specific extensions. No existing client code will be modified. Only implementations that implement the extensions will be effected. 
    199196</P> 
    200197