(Page 26 of 80 in this chapter)


adiGetRecordStatus

Description

Retrieves the record operation status.

Prototype

DWORD adiGetRecordStatus( CTAHD ctahd,
ADI_RECORD_STATUS *info,
unsigned size )

ctahd Context handle returned by adiOpenPort.

info Pointer to the ADI_RECORD_STATUS structure, as shown:

typedef struct
{     /* parms related to RECORD functions:          */
 DWORD size ;    /* returned size (GetRecordStatus())          */
 DWORD reason;    /* reason last record ended          */
 DWORD buffercount; 
/* counter of buffers submitted */
DWORD frame /* number of frames submitted */ DWORD totalbytes; /* total bytes submitted */ void *buffer; /* last buffer pointer SUBMITTED. */ DWORD bytecount; /* number of bytes into this buffer */ DWORD bytesrecorded;
/* total bytes actually recorded. */
DWORD timestarted;
/* actual time started (ms units) */
DWORD underrun; /* counts underrun events */ } ADI_RECORD_STATUS;
size Amount of memory available at info to receive the ADI_RECORD_STATUS.

Return Values

Events

None.

Details

This function retrieves status information about the active or most recently completed voice record operation for the specified context.

Up to size bytes of the ADI_RECORD_STATUS structure are copied to the address pointed to by info. If size is greater than or equal to sizeof(ADI_RECORD_STATUS), the complete structure is copied. The number of bytes copied is returned in the ADI_RECORD_STATUS size field.

adiGetRecordStatus may be issued while actively recording. If there is no active record operation, the status information pertains to the most recently completed instance.

The ADI_RECORD_STATUS structure contains the following fields:

Field

Description

size

The number of bytes copied to status.

reason

The termination condition for the last ADIEVN_RECORD_DONE. This field is 0 if the record operation is active, or if it has not been started since the context was last opened.

buffercount

The number of buffers submitted.

framecount

The number of voice frames submitted

totalbytes

The number of bytes submitted by the application.

buffer

The last buffer pointer submitted.

bytecount

The size of the last buffer submitted.

bytesrecorded

The total number of bytes received.

timestarted

The timestamp for the start of the record operation (see adiGetTimeStamp).

underrun

The total number of underruns during the record instance (see the AG Access Developer's Manual for more information about underruns).

See Also

adiStartRecording, adiRecordAsync, adiRecordToMemory, adiStopRecording

Example


void myShowRecordStatus( CTAHD ctahd )
{
    ADI_RECORD_STATUS recordstatus;

    adiGetRecordStatus( ctahd, &recordstatus, sizeof recordstatus );

    /* A termination condition of 0 indicates either record in progress,
     * or none yet started in this context.
  */
    printf( "Termination condition=%x, bytes recorded=%d\n",
             recordstatus.reason, recordstatus.bytesrecorded );
}



(Page 26 of 80 in this chapter)


Tech_Support@nmss.com
Copyright © 1996, Natural MicroSystems, Inc. All rights reserved.