/** * @file constants.h * @brief PCM Task node protocol constants definition *

* Copyright (C) 2006 Nokia Corporation *

* Contact: Eduardo Bezerra Valentin * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #ifndef _CONSTANTS_H #define _CONSTANTS_H /** * Commands * */ /** No command */ #define DSP_CMD_NONE 0x00 /** Informs the DSP that the following data is about initialisation. */ #define DSP_CMD_INIT 0x01 /** Informs the DSP that the following data is parameters */ #define DSP_CMD_SET_PARAMS 0x02 /** Informs the DSP that the following data is general data (compressed * or raw audio or video) * */ #define DSP_CMD_DATA_WRITE 0x03 /** Starts audio or video playback or recording */ #define DSP_CMD_PLAY 0x04 /** Pauses playback */ #define DSP_CMD_PAUSE 0x05 /** Stops playback */ #define DSP_CMD_STOP 0x06 /** Informs the DSP that the following data is volume */ #define DSP_CMD_SET_VOLUME 0x07 /** Requests from the DSP to send information about current task node * state * */ #define DSP_CMD_STATE 0x08 /** Informs the DSP that the following data is about setting the current * presentation time * */ #define DSP_CMD_SET_TIME 0x09 /** Informs the DSP that the ARM queries the current presentation time */ #define DSP_CMD_GET_TIME 0x0A /** Informs the DSP that the following data is about setting video * post-processing parameters * */ #define DSP_CMD_SET_POSTPROC 0x0B /** Informs the DSP that the following data is about setting the panning * */ #define DSP_CMD_SET_PANNING 0x0D /** Informs the DSP about discontinuity in the audio stream */ #define DSP_CMD_DISCONT 0x0E /** Mutes the audio playback */ #define DSP_CMD_MUTE 0x0F /** Unmutes the audio playback */ #define DSP_CMD_UNMUTE 0x10 /**Closes the task node*/ #define DSP_CMD_CLOSE 0x14 /** Command from DSP to start to read data*/ #define DSP_CMD_DATA_READ 0x25 /**Sets speech parameters*/ #define DSP_CMD_SET_SPEECH_PARAMS 0x26 /** * Audio formats * */ /** Unsigned 8 bits per sample PCM */ #define DSP_AFMT_U8 0x01 /** Signed 16 bits per sample PCM, little endian */ #define DSP_AFMT_S16_LE 0x02 /** Signed 16 bits per sample PCM, big endian */ #define DSP_AFMT_S16_BE 0x03 /** Signed 8 bits per sample PCM */ #define DSP_AFMT_S8 0x04 /** Unsigned 16 bits per sample PCM, little endian */ #define DSP_AFMT_U16_LE 0x05 /** Unsigned 16 bits per sample PCM, big endian */ #define DSP_AFMT_U16_BE 0x06 /** A-law encoded PCM */ #define DSP_AFMT_ALAW 0x07 /** μ-Law encoded PCM */ #define DSP_AFMT_ULAW 0x08 /** MP3 stream */ #define DSP_AFMT_MP3 0x09 /** AAC stream */ #define DSP_AFMT_AAC 0x0A /** AMR stream */ #define DSP_AFMT_AMR 0x0B /** MP2 stream */ #define DSP_AFMT_MP2 0x0C /** iLBC stream */ #define DSP_AFMT_ILBC 0x0D /** G.729 stream */ #define DSP_AFMT_G729 0x0E /** * Supported Sample rates * */ /** 96KHz sampling rate */ #define SAMPLE_RATE_96KHZ 0x00 /** 88.2KHz sampling rate */ #define SAMPLE_RATE_88_2KHZ 0x01 /** 64KHz sampling rate */ #define SAMPLE_RATE_64KHZ 0x02 /** 48KHz sampling rate */ #define SAMPLE_RATE_48KHZ 0x03 /** 44.1KHz sampling rate */ #define SAMPLE_RATE_44_1KHZ 0x04 /** 32KHz sampling rate */ #define SAMPLE_RATE_32KHZ 0x05 /** 24KHz sampling rate */ #define SAMPLE_RATE_24KHZ 0x06 /** 22.05KHz sampling rate */ #define SAMPLE_RATE_22_05KHZ 0x07 /** 16KHz sampling rate */ #define SAMPLE_RATE_16KHZ 0x08 /** 12KHz sampling rate */ #define SAMPLE_RATE_12KHZ 0x09 /** 11.025KHz sampling rate */ #define SAMPLE_RATE_11_025KHZ 0x0A /** 8KHz sampling rate */ #define SAMPLE_RATE_8KHZ 0x0B /** 5.5125Khz sampling rate */ #define SAMPLE_RATE_5_5125KHZ 0X0C /** * DSP Return values * */ /** Operation successful */ #define DSP_OK 0x01 /** Unrecognised or unsupported command value */ #define DSP_ERROR_CMD 0x02 /** Unrecognised or unsupported audio format value */ #define DSP_ERROR_FMT 0x03 /** Unrecognised or unsupported sampling rate value */ #define DSP_ERROR_RATE 0x04 /** Unrecognised or unsupported number of channels */ #define DSP_ERROR_CHANNELS 0x05 /** Destination/source stream ID out of range */ #define DSP_ERROR_DS_ID 0x06 /** Insufficient memory to perform requested action */ #define DSP_ERROR_MEMORY 0x07 /** Unspecified error */ #define DSP_ERROR_GENERAL 0x08 /** Error in stream (audio or video) */ #define DSP_ERROR_STREAM 0x09 /** Unexpected task node state */ #define DSP_ERROR_STATE 0x0A /** Error in synchronisation: For MP3 – synchronisation marker not found */ #define DSP_ERROR_SYNC 0x0B /** For MPEG4: non-compliant video stream */ #define DSP_ERROR_VIDEO_NON_COMPLIANT 0x100 /** For MPEG4: Error in VOS */ #define DSP_ERROR_VIDEO_FAULT_IN_VOS 0x101 /** For MPEG4: Image size not supported */ #define DSP_ERROR_VIDEO_SIZE_NOT_SUPPORTED 0x102 /** End of VOS code reached */ #define DSP_ERROR_VIDEO_VOS_END_CODE 0x103 /** * Channels * */ /** One channel (mono) */ #define CHANNELS_1 0x01 /** Two channels (stereo) */ #define CHANNELS_2 0x02 /** * Audio Task node states * */ /** Initialised */ #define STATE_INITIALISED 0x00 /** Playing/recording */ #define STATE_PLAYING 0x01 /** Stopped */ #define STATE_STOPPED 0x02 /** Paused */ #define STATE_PAUSED 0x03 /** Not initialised */ #define STATE_UNINITIALISED 0x04 /** Reseted */ #define STATE_RESET 0x05 /** Muted */ #define STATE_MUTED 0x06 /** Sending commands */ #define REQUEST_CONFIRMATION 0x01 #define WITHOU_CONFIRMATION 0x00 #endif /* _CONSTANTS_H */