亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? am_event_handler_audio_va.cc

?? Motorola synergy audio component
?? CC
?? 第 1 頁 / 共 2 頁
字號:
/* (c) Copyright Motorola 1997, All rights reserved.           Motorola Confidential Proprietary   Contains confidential proprietary information of Motorola, Inc.   Reverse engineering is prohibited.   The copyright notice does not imply publication.     DESCRIPTION:       This file handles Voice Annotation primitive handlers.   *************** REVISION HISTORY *********************************************     Date       Author      Reference   ========   ========    ==========================   04-11-23   aja099      libff38547              VST VR Port   03-06-13   aaa063      LIBdd01040              Implementation of VST VR functionality   2004-09-10 w16355      CR - LIBff14638              Audio Manager support for full duplex AMR voice.              - Changed tone names beginning with AM_ to start with DL_.   04-02-11   w17860      LIBdd75133              Phone looses audio when we do VA recording and close flip immediately.   04-02-19   w17860      LIBdd76721              PANIC: When fast forwarding on Voice Record.   00-12-21   mtaraba     CSGce82934              main_comp_hardware.h within engine_audio vob should be removed   01-03-16   blamers     CSGce90013              Rewind, Fast Forward, and meter does not correspond to voicenote              - The device layer does not send a resume after a FF to end command.  Therefore                the AM must fake the message in the Event Handler, but not notify the DL.   01-03-15   mtaraba     CSGce90543              AM is sending CTG_ON command unnecessarily resulting in VR hangup   00-10-13   blamers     CR - CSGce76448              VA Indication to the Device Layer must contain TD_VA_STATUS_SUCCESS              - Force the playback stop and erase indication to return                TD_VA_STATUS_SUCCESS when they complete successfully.   00-10-03   blamers     CR - CSGce75176              VA resume after VA pause restarts play from the beginning              - Pass a zero as the offset for the VA pause command.   00-09-01   blamers     CR - CSGce61298              Complete functionality for VA FF/Rew              - Remove unused event handlers              - Added VA fast forward, rewind, pause, and resume functionality   00-08-23   mtaraba     CR - CSGce65193              Move AM_AUDIO_PATH_TYPE enumeration to a global header file              - include audio_path_types.h   00-08-09   mtaraba     CR - CSGce55882              Eliminate file gsm.h from audio manager   00-05-05   shagino     CR - CSGce56425              Implement handsfree_status funtion              - Updated DL types to match new naming convention   00-03-15   mkloza      PR - CSGce51641              Blue Tooth modifications for P2K platform              - removed parameters from update_mode() function   99-12-25   wchoi       CR - CSGce39558              - suapi compilancy and added VA/VR functionality back in              - removed unnecessary C++ classes for sending suapi messages   99-10-25   ktang       PR - CSGce40785              GRiEF Audio: DL Audio Tone Types and DL DB Feature IDs              - replaced td tone types and ids with DL tone types and ids   99-04-26   blamers     PR - CSGce31167   99-03-29   blamers     PR - CSGce30057   99-02-26   blamers     CR - CSGce28847   99-01-20   blamers     CR - CSGce26811   99-01-04   dmuehl      CR - CSGce23316   98-12-21   blamers     CR - CSGce26131   98-10-05   blamers     PR - CSGce17243   98-09-29   jkraisor    CR - CSGce22626*//************** INCLUDES ******************************************************/#include <SUAPI/suapi.h>#include <ENGINE_AUDIO/audio_conditional_compile_def.h>#include <ENGINE_AUDIO/td_aud_tone_req_tone_type.h>#include <ENGINE_AUDIO/td_va_command.h>#include <ENGINE_AUDIO/td_va_status.h>#include <ENGINE_AUDIO/td_vr_error_codes.h>#include <ENGINE_AUDIO/audscm_va_ind.h>#include <ENGINE_AUDIO/aud_hw_stub_command_cnf.h>#include <ENGINE_AUDIO/aud_va_command_cnf.h>#include <ENGINE_AUDIO/aud_va_command_req.h>#include <ENGINE_AUDIO/aud_va_status_ind.h>#include <audio/aud_reformat_flash_ind.h>#include <ENGINE_AUDIO/audio_path_types.h>#include <ENGINE_SEEM/seem.h>#include <ENGINE_AUDIO/va_command_cnf.h>#include <ENGINE_AUDIO/va_status_ind.h>#include <audio/am_app_configuration_server.h>#include <audio/AM_App_Configuration_Server.H>#include <audio/am_va_vr_command_types.h>#include <ENGINE_AUDIO/am_hw_primitive_builder_interrupt.h>#include <audio/am_va_info.h>#include <audio/AM_Event_Handler.H>#include <SYNERGY_DEVICE_LAYER/dl_audio_auf.h>#include <audio/AM_Device_Layer_Interface.H>#include <ENGINE_AUDIO/aud_prim_ids.h>#include <audio/AM_Tone_Sequence_Handler.H>#if (AUDIO_DIGITAL_VOICE_ANNOTATOR == TRUE)/************** LOCAL CONSTANTS ***********************************************//************** LOCAL STRUCTURES, ENUMS, AND TYPEDEFS *************************//************** LOCAL FUNCTION PROTOTYPES *************************************//************** LOCAL MACROS **************************************************//************** LOCAL VARIABLES ***********************************************/BOOLEAN send_ind = FALSE;BOOLEAN send_start_play_req = FALSE;AUD_VA_COMMAND_REQ saved_msg;/************** FUNCTION DEFINITIONS ******************************************//* DESCRIPTION:       This function handles VA command request.   INPUTS:       incoming VA primitive   OUTPUTS:       None   IMPORTANT NOTES:       1. This function is valid only when conditional compilation flag of          digital VA is set to TRUE.*/void AM_Event_Handler::handle_aud_va_command_req(void *msg){    AUD_VA_COMMAND_REQ* aud_va_command_req = (AUD_VA_COMMAND_REQ*)msg;    // VA subcommand from the primitive    TD_VA_COMMAND new_command = aud_va_command_req->command;    // VA/VR command in progress    AM_VA_VR_COMMAND_TYPE command_in_progress =        am_event_va_vr_server.get_command(AM_AUDIO_PATH_ID_VA_VR_NON_AUDIO);    if  ((command_in_progress == AM_VA_VR_ABORT_CMD) ||         (command_in_progress == AM_VA_VR_DO_NOTHING_CMD) ||         ((command_in_progress == AM_VA_START_RECORD_CMD) &&          (new_command == TD_VA_COMMAND_STOP_RECORD)) ||         ((command_in_progress == AM_VA_PLAY_VOICE_NOTE_CMD) &&          ((new_command == TD_VA_COMMAND_FAST_FORWARD) ||           (new_command == TD_VA_COMMAND_REWIND) ||           (new_command == TD_VA_COMMAND_STOP_PLAY) ||           (new_command == TD_VA_COMMAND_FAST_FORWARD_TO_END) ||           (new_command == TD_VA_COMMAND_REWIND_TO_BEGIN) ||           (new_command == TD_VA_COMMAND_PAUSE))))    {        // process new command from passed primitive        switch(new_command)        {            case TD_VA_COMMAND_FAST_FORWARD:                send_ind = TRUE;                handle_va_stop_req(msg, am_va_byte_per_sec(3));                break;            case TD_VA_COMMAND_FAST_FORWARD_TO_END:                send_ind = TRUE;                send_start_play_req = TRUE;                saved_msg = *((AUD_VA_COMMAND_REQ*)msg);                handle_va_stop_req(msg, AM_VA_OFFSET_END);                break;            case TD_VA_COMMAND_REWIND:                send_ind = TRUE;                handle_va_stop_req(msg, am_va_byte_per_sec(-3));                break;            case TD_VA_COMMAND_REWIND_TO_BEGIN:                send_ind = TRUE;                handle_va_stop_req(msg, AM_VA_OFFSET_BEGIN);                break;            case TD_VA_COMMAND_PAUSE:                handle_va_stop_req(msg, 0);                break;            case TD_VA_COMMAND_STOP_PLAY:                handle_va_stop_req(msg, AM_VA_OFFSET_NO_CHANGE);                break;            case TD_VA_COMMAND_STOP_RECORD:                handle_va_stop_req(msg, AM_VA_OFFSET_NO_CHANGE);                break;            case TD_VA_COMMAND_START_PLAY:                handle_va_start_play_req(msg, AM_VA_OFFSET_BEGIN);                break;            case TD_VA_COMMAND_RESUME:                handle_va_start_play_req(msg, AM_VA_OFFSET_NO_CHANGE);                break;            case TD_VA_COMMAND_START_RECORD:                handle_va_start_record_req(msg);                break;            case TD_VA_COMMAND_ERASE:                handle_va_erase_req(msg);                break;            default:                Send2DeviceLayer_AUD_VA_Command_Cnf((TD_VA_STATUS)TD_DSP_FLASH_BUSY,                                                     AUD_VA_TIME_UNAVAILABLE,                                                    AUD_VA_TIME_UNAVAILABLE);                break;        }    }    else    {        // build and send primitive to device layer to indicate the new VA         // command cannot be processed because flash is busy        Send2DeviceLayer_AUD_VA_Command_Cnf((TD_VA_STATUS)TD_DSP_FLASH_BUSY,                                             AUD_VA_TIME_UNAVAILABLE,                                            AUD_VA_TIME_UNAVAILABLE);    }}/* DESCRIPTION:       This function handles a Start VA Recording request. It asks the       logic processor in application layer to start VA recording.   INPUTS:       incoming VA primitive   OUTPUTS:       None   IMPORTANT NOTES:       1. This function is valid only when conditional compilation flag of          digital VA is set to TRUE.*/void AM_Event_Handler::handle_va_start_record_req(void *msg){    AUD_VA_COMMAND_REQ* aud_va_command_req = (AUD_VA_COMMAND_REQ*)msg;    Tone_Item* cur_tone_ptr = eventqueuehandler.GetCurrent();    // Before starting audio capture for VST VR functionality, make sure that    // their is no tone currently playing. If there is a tone playing the    // audio capture session will not be started now, but restarted after the     // tone is complete as their is a check for the flag wait_for_tone_completion    // at that time.    if (audVstParams.activity == AUD_VST_CAPTURE_AUDIO && cur_tone_ptr != NULL)    {        audVstParams.wait_for_tone_completion = TRUE;    }     else    {        audVstParams.wait_for_tone_completion = FALSE;    // Determine the record audio path    UINT8 recording_audio_path =        (am_event_configuration_server.read(AM_CONFIGURATION_ID_INCALL)) ?        (AM_IN_CALL_RECORD_AUDIO_PATH) : (AM_NO_CALL_RECORD_AUDIO_PATH);    // save VoiceNote id from the incoming primitive to the data record in the VA/VR server    am_event_va_vr_server.save_va_data(recording_audio_path,                                       aud_va_command_req->voicenote_number);    // set command in the VA/VR server    am_event_va_vr_server.set_command(AM_VA_START_RECORD_CMD);    // generate a start recording command    am_event_logic_processor.generate_va_vr_command(DL_AUDIO_TONE_TYPE_VA_RECORD);}}/* DESCRIPTION:       This function handles a Start VA VoiceNote Playback request. It asks the logic       processor in application layer to start playing back a specified voice note.   INPUTS:       incoming VA primitive       va_offset to begin playback   OUTPUTS:       None   IMPORTANT NOTES:       1. This function is valid only when conditional compilation flag of          digital VA is set to TRUE.*/void AM_Event_Handler::handle_va_start_play_req(void *msg, AM_VA_OFFSET va_offset){    AUD_VA_COMMAND_REQ* aud_va_command_req = (AUD_VA_COMMAND_REQ*)msg;    // Determine the playback audio path    UINT8 playback_audio_path =        (am_event_configuration_server.read(AM_CONFIGURATION_ID_INCALL)) ?        (AM_IN_CALL_PLAY_AUDIO_PATH) : (AM_NO_CALL_PLAY_AUDIO_PATH);    // save VoiceNote id from the incoming primitive to the data, record in the VA/VR server    am_event_va_vr_server.save_va_data(playback_audio_path,                                       aud_va_command_req->voicenote_number,                                       va_offset);    // set command in the VA/VR server    am_event_va_vr_server.set_command(AM_VA_PLAY_VOICE_NOTE_CMD);    // generate a VA playback command    am_event_logic_processor.generate_va_vr_command(DL_AUDIO_TONE_TYPE_VA_PLAYBACK);}/* DESCRIPTION:       This function handles a Erase VA VoiceNote request. It asks the       logic processor in application layer to erase a specified VoiceNote(s).    INPUTS:       incoming VA primitive   OUTPUTS:       None   IMPORTANT NOTES:       1. This function is valid only when conditional compilation flag of          digital VA is set to TRUE.*/void AM_Event_Handler::handle_va_erase_req(void *msg){    AUD_VA_COMMAND_REQ* aud_va_command_req = (AUD_VA_COMMAND_REQ*)msg;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄色资源网久久资源365| 91国模大尺度私拍在线视频| 日韩电影在线观看网站| 一区二区理论电影在线观看| 欧美二区三区91| 国产99久久久国产精品| 久久99久久久欧美国产| 国产一区视频在线看| 国产成人精品亚洲午夜麻豆| 成人黄色片在线观看| 91免费观看国产| 欧美一区二区播放| 久久久精品国产免大香伊| 中文字幕欧美区| 夜夜嗨av一区二区三区网页| 日韩高清在线观看| 国产黄人亚洲片| 色综合天天综合在线视频| 欧美电影影音先锋| 国产日韩欧美激情| 日韩高清在线电影| 91小视频免费观看| 精品国产髙清在线看国产毛片| 中文字幕一区二区三区在线观看| 亚洲一区在线免费观看| 国产一区二区影院| 日韩欧美色综合网站| 一区二区三区在线免费视频| 久久精品国产99国产精品| 色成年激情久久综合| 久久久不卡影院| 日韩av电影免费观看高清完整版 | 美女视频黄久久| 91麻豆精品在线观看| 日本一区二区三区四区| 麻豆91在线看| 久久夜色精品一区| 国产在线视频不卡二| 精品少妇一区二区三区日产乱码 | 欧美大白屁股肥臀xxxxxx| 亚洲自拍偷拍网站| 欧美精选在线播放| 男女男精品网站| 久久久不卡影院| 99久久伊人精品| 亚洲国产精品欧美一二99| 欧美日产国产精品| 精品一区二区三区免费观看 | 在线亚洲一区观看| 午夜亚洲福利老司机| 日韩天堂在线观看| 成人一区二区三区中文字幕| 亚洲香肠在线观看| 久久这里只有精品6| 91在线看国产| 久久成人18免费观看| 国产午夜亚洲精品理论片色戒| 免费观看一级特黄欧美大片| 在线播放视频一区| 99久久er热在这里只有精品15| 亚洲一区中文日韩| 欧美国产激情一区二区三区蜜月| 99精品一区二区三区| 青青草原综合久久大伊人精品| 国产三级精品视频| 精品久久国产字幕高潮| 色av一区二区| 一本色道久久综合亚洲精品按摩| 久久精品国产在热久久| 亚洲伦理在线精品| 亚洲三级久久久| 欧美精品一区二区三区视频| 91麻豆精品久久久久蜜臀| 97精品久久久午夜一区二区三区| 奇米777欧美一区二区| 亚洲成a人v欧美综合天堂| ...中文天堂在线一区| 国产日韩精品一区| 国产喂奶挤奶一区二区三区| 久久丝袜美腿综合| 国产欧美精品区一区二区三区 | 欧美日韩一区二区三区在线| 在线国产亚洲欧美| 欧美日韩国产中文| 777午夜精品免费视频| 日韩一区二区三区免费看| 在线一区二区三区四区五区| 制服丝袜在线91| 粉嫩蜜臀av国产精品网站| 成人av在线看| 国产成人综合在线观看| 看电影不卡的网站| 日本高清不卡aⅴ免费网站| 播五月开心婷婷综合| 在线看国产日韩| 精品人伦一区二区色婷婷| 国产精品天天看| 天堂在线亚洲视频| 91猫先生在线| 国产欧美日韩视频在线观看| 国产精品欧美一级免费| 久久成人免费网| 欧美午夜影院一区| 日本一区二区电影| 久久99精品国产麻豆不卡| 欧美性猛交xxxx乱大交退制版| 国产亚洲视频系列| 看电影不卡的网站| 欧美成人一区二区| 丝袜美腿一区二区三区| 欧美日韩专区在线| 亚洲国产日韩a在线播放| 色综合天天综合网国产成人综合天 | 国产精品一二三区| 久久天堂av综合合色蜜桃网 | 国产日韩欧美激情| 国产成人精品免费在线| 久久久久亚洲蜜桃| 国产成人午夜片在线观看高清观看| 91精品福利在线一区二区三区 | 国产精品拍天天在线| 97se亚洲国产综合自在线| 亚洲天堂中文字幕| 色婷婷av一区| 精品久久久久久最新网址| 蜜臀av性久久久久av蜜臀妖精| 日韩欧美中文一区二区| 国内精品第一页| 亚洲另类在线视频| 91精品婷婷国产综合久久性色 | 五月激情综合色| 欧美xingq一区二区| 91首页免费视频| 麻豆成人综合网| 一级日本不卡的影视| www成人在线观看| 91精品黄色片免费大全| 北岛玲一区二区三区四区| 日韩中文字幕麻豆| 成人欧美一区二区三区1314| 精品少妇一区二区三区在线视频| 欧亚一区二区三区| thepron国产精品| 国产精品 欧美精品| 国产专区欧美精品| 日韩av二区在线播放| 天天色天天爱天天射综合| 亚洲欧美日本韩国| 亚洲欧美中日韩| 亚洲欧美一区二区在线观看| 国产精品欧美精品| 久久久久久久久久看片| 国产视频不卡一区| 国产精品久久久久永久免费观看| 日本一区二区综合亚洲| 国产精品无码永久免费888| 国产亚洲欧美日韩日本| 国产日韩欧美高清| 亚洲综合偷拍欧美一区色| 亚洲h在线观看| 毛片av一区二区三区| 成人综合激情网| 91蜜桃在线观看| 亚洲欧洲韩国日本视频| 国产精品国产自产拍高清av| 99精品视频免费在线观看| 亚洲精品视频在线看| 樱花影视一区二区| 婷婷综合在线观看| 成人18视频在线播放| 欧美视频在线观看一区| 久久午夜国产精品| 有坂深雪av一区二区精品| 国产麻豆视频精品| 欧美在线视频你懂得| 国产蜜臀97一区二区三区 | 久久精品综合网| 亚洲综合色网站| eeuss国产一区二区三区| 欧美日本韩国一区| 国产精品久久毛片av大全日韩| 日韩av午夜在线观看| 91麻豆免费视频| 国产精品久久久久影院色老大| 蜜桃一区二区三区在线观看| 欧美午夜精品一区| 亚洲老妇xxxxxx| 欧美性一级生活| 午夜久久久久久久久久一区二区| 91极品美女在线| 亚洲人成亚洲人成在线观看图片| 成人国产精品免费观看| 欧美激情一区二区在线| 岛国精品在线观看| 国产午夜精品福利| 国产成人午夜精品影院观看视频| 国产午夜一区二区三区| 成人在线视频一区| 亚洲青青青在线视频| 欧美午夜片在线看|