mirror of
https://github.com/apache/nuttx.git
synced 2026-06-02 09:38:37 +08:00
Audio: Add hooks for fast-forward and rewind needed by CMediaPlayer; add hooks for equalizer settings needed by the WM8904
This commit is contained in:
+42
-4
@@ -20,6 +20,8 @@ config AUDIO_MULTI_SESSION
|
|||||||
Selecting this feature adds support for tracking multiple concurrent
|
Selecting this feature adds support for tracking multiple concurrent
|
||||||
sessions with the lower-level audio devices.
|
sessions with the lower-level audio devices.
|
||||||
|
|
||||||
|
menu "Audio Buffer Configuration"
|
||||||
|
|
||||||
config AUDIO_LARGE_BUFFERS
|
config AUDIO_LARGE_BUFFERS
|
||||||
bool "Support Audio Buffers with greater than 65K samples"
|
bool "Support Audio Buffers with greater than 65K samples"
|
||||||
default n
|
default n
|
||||||
@@ -56,6 +58,8 @@ config AUDIO_DRIVER_SPECIFIC_BUFFERS
|
|||||||
adds extra code which allows the lower-level audio device to specify
|
adds extra code which allows the lower-level audio device to specify
|
||||||
a partucular size and number of buffers.
|
a partucular size and number of buffers.
|
||||||
|
|
||||||
|
endmenu # Audio Buffer Configuration
|
||||||
|
|
||||||
menu "Supported Audio Formats"
|
menu "Supported Audio Formats"
|
||||||
|
|
||||||
config AUDIO_FORMAT_AC3
|
config AUDIO_FORMAT_AC3
|
||||||
@@ -116,11 +120,28 @@ config AUDIO_EXCLUDE_BALANCE
|
|||||||
---help---
|
---help---
|
||||||
Exclude building support for changing the balance.
|
Exclude building support for changing the balance.
|
||||||
|
|
||||||
|
config AUDIO_EXCLUDE_EQUALIZER
|
||||||
|
bool "Exclude equalizer controls"
|
||||||
|
default y
|
||||||
|
---help---
|
||||||
|
Exclude building support for setting equalization.
|
||||||
|
|
||||||
|
config AUDIO_EQUALIZER_NBANDS
|
||||||
|
int "Number of equalizer bands"
|
||||||
|
default 8
|
||||||
|
depends on !AUDIO_EXCLUDE_EQUALIZER
|
||||||
|
---help---
|
||||||
|
If equalizer support is not excluded, then it will be necessary to
|
||||||
|
provide the (maximum) number of equalization bands to be supported.
|
||||||
|
|
||||||
config AUDIO_EXCLUDE_TONE
|
config AUDIO_EXCLUDE_TONE
|
||||||
bool "Exclude tone (bass and treble) controls"
|
bool "Exclude tone (bass and treble) controls"
|
||||||
default n
|
default y if !AUDIO_EXCLUDE_EQUALIZER
|
||||||
|
default n if AUDIO_EXCLUDE_EQUALIZER
|
||||||
---help---
|
---help---
|
||||||
Exclude building support for changing the bass and treble.
|
Exclude building support for changing the bass and treble. Normally
|
||||||
|
you would not select both tone controls and equalizer support unless
|
||||||
|
your underlying hardware supports both options.
|
||||||
|
|
||||||
config AUDIO_EXCLUDE_PAUSE_RESUME
|
config AUDIO_EXCLUDE_PAUSE_RESUME
|
||||||
bool "Exclude pause and resume controls"
|
bool "Exclude pause and resume controls"
|
||||||
@@ -137,11 +158,28 @@ config AUDIO_EXCLUDE_STOP
|
|||||||
default n
|
default n
|
||||||
---help---
|
---help---
|
||||||
Exclude building support for stopping audio files once they are
|
Exclude building support for stopping audio files once they are
|
||||||
submitted. If the sound system is being used to play short ssytem
|
submitted. If the sound system is being used to play short sytem
|
||||||
notification or error type sounds that typicaly only last a second
|
notification or error type sounds that typically only last a second
|
||||||
or two, then there is no need (or chance) to stop the sound
|
or two, then there is no need (or chance) to stop the sound
|
||||||
playback once it has started.
|
playback once it has started.
|
||||||
|
|
||||||
|
config AUDIO_EXCLUDE_FFORWARD
|
||||||
|
bool "Exclude fast forward controls"
|
||||||
|
default n if !AUDIO_EXCLUDE_STOP
|
||||||
|
default y if AUDIO_EXCLUDE_STOP
|
||||||
|
---help---
|
||||||
|
Exclude building support for fast forwarding through audio files
|
||||||
|
once they are submitted. Selecting this option would only make
|
||||||
|
if the underlying audio decoding logic is capable of sub-sampling
|
||||||
|
in the stream of audio data.
|
||||||
|
|
||||||
|
config AUDIO_EXCLUDE_REWIND
|
||||||
|
bool "Exclude rewind controls"
|
||||||
|
default y
|
||||||
|
---help---
|
||||||
|
Rewind may be supported by some audio devices, but not the typical
|
||||||
|
device that receives a non-seekable, stream of audio buffers.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
config AUDIO_CUSTOM_DEV_PATH
|
config AUDIO_CUSTOM_DEV_PATH
|
||||||
|
|||||||
@@ -33,10 +33,6 @@
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Compilation Switches
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Included Files
|
* Included Files
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -126,6 +126,23 @@
|
|||||||
* and low-level audio drivers. This ioctls are not used by the higher
|
* and low-level audio drivers. This ioctls are not used by the higher
|
||||||
* level audio logic and need be implemented only in low-level audio
|
* level audio logic and need be implemented only in low-level audio
|
||||||
* drivers that are driven by a decoder.
|
* drivers that are driven by a decoder.
|
||||||
|
*
|
||||||
|
* AUDIOIOC_BITRATE - Set bit rate
|
||||||
|
*
|
||||||
|
* ioctl argument: Audio bit rate in bits per second
|
||||||
|
* Range: 1-65535 BPS (Compare to AUDIO_BIT_RATE_* definitions)
|
||||||
|
*
|
||||||
|
* AUDIOIOC_NCHANNELS - Set number of audio channels
|
||||||
|
*
|
||||||
|
* ioctl argument: Number of audio channels. 1=MONO, 2=STEREO, etc.
|
||||||
|
* Range: 1-255, however most drivers will support only
|
||||||
|
* 1 and possibly 2
|
||||||
|
*
|
||||||
|
* AUDIOIOC_SAMPWIDTH - Set sample bit width
|
||||||
|
*
|
||||||
|
* ioctl argument: Sample bit width: 8=8-bit data, 16=16-bit data, etc.
|
||||||
|
* Range: 1-255, however, many drivers will support only
|
||||||
|
* one sample bit width.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define AUDIOIOC_BITRATE _AUDIOIOC(17)
|
#define AUDIOIOC_BITRATE _AUDIOIOC(17)
|
||||||
@@ -134,9 +151,9 @@
|
|||||||
|
|
||||||
/* Audio Device Types *******************************************************/
|
/* Audio Device Types *******************************************************/
|
||||||
/* The NuttX audio interface support different types of audio devices for
|
/* The NuttX audio interface support different types of audio devices for
|
||||||
* input, output, synthesis, and manupulation of audio data. A given driver/
|
* input, output, synthesis, and manipulation of audio data. A given driver/
|
||||||
* device could support a combination of these device type. The following
|
* device could support a combination of these device type. The following
|
||||||
* is a list of bit-field definitons for defining the device type.
|
* is a list of bit-field definitions for defining the device type.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define AUDIO_TYPE_QUERY 0x00
|
#define AUDIO_TYPE_QUERY 0x00
|
||||||
@@ -151,7 +168,7 @@
|
|||||||
|
|
||||||
/* Audio Format Types *******************************************************/
|
/* Audio Format Types *******************************************************/
|
||||||
/* The following defines the audio data format types in NuttX. During a
|
/* The following defines the audio data format types in NuttX. During a
|
||||||
* format query, these will be converted to bit positions withing the
|
* format query, these will be converted to bit positions within the
|
||||||
* ac_format field, meaning we currently only support up to 16 formats. To
|
* ac_format field, meaning we currently only support up to 16 formats. To
|
||||||
* support more than that, we will use the FMT_OTHER entry, and the
|
* support more than that, we will use the FMT_OTHER entry, and the
|
||||||
* interfacing software can perform a second query to get the other formats.
|
* interfacing software can perform a second query to get the other formats.
|
||||||
|
|||||||
Reference in New Issue
Block a user