Google
 

Open Sound System
The Hitchhiker's Guide to OSS 4.1 Internals

Do you have problems with sound/audio application development? Don't panic! Click here for help!

adrv_check_output

Audio driver method for handling playback timeouts

Usage

int (*adrv_check_output) (int dev);

Description

The first paramater (dev) is anways the audio engine number which is an index to the audio_engines table. The driver can use the audio_engines entry to find out some of the current parameters. In particular the devc, portc, portc_play and portc_record fields can be used to locate the driver defined structures for the audio engine.

By default the audio core will return EIO error to the application when output of an audio fragment doesn't get acknowledged within a timeout period. This is used to prevent the application from hanging infinitely when the device is malfunctioning.

In special cases the driver can define a method that checks why playback has timed out and prints more detailed error message. In addition the driver may ask the audio core to continue without reporting an error by returning value of 0. If the error cannot be recovered then this method should return -EIO (or some other error code).

When this method is called it's likely that a playback underrun has already occurred producing an audible click. For this reason this method cannot be used to recover audio data.

Return value

Audio driver entry point should return 0 if the call was successful. Negative return value (-errno) means that an error has occurred. However some of the functions have void type and they don't return any value.

Referenced by

audio/oss_audio_core.cAudio core functionality of OSS
include/ossddk.hSource file oss-current/kernel/framework/include/ossddk/ossddk.h


Copyright (C) 4Front Technologies, 2007. All rights reserved.
Back to index OSS web site