/** Generate MRCPv2 recognizer header */ static apt_bool_t mrcp_v2_recog_header_generate(const mrcp_header_accessor_t *accessor, apr_size_t id, apt_str_t *value, apr_pool_t *pool) { mrcp_recog_header_t *recog_header = accessor->data; if(id == RECOGNIZER_HEADER_CONFIDENCE_THRESHOLD) { return apt_float_value_generate(recog_header->confidence_threshold,value,pool); } else if(id == RECOGNIZER_HEADER_SENSITIVITY_LEVEL) { return apt_float_value_generate(recog_header->sensitivity_level,value,pool); } else if(id == RECOGNIZER_HEADER_SPEED_VS_ACCURACY) { return apt_float_value_generate(recog_header->speed_vs_accuracy,value,pool); } else if(id == RECOGNIZER_HEADER_COMPLETION_CAUSE) { return apt_completion_cause_generate( v2_completion_cause_string_table, RECOGNIZER_COMPLETION_CAUSE_COUNT, recog_header->completion_cause, value, pool); } return mrcp_recog_header_generate(recog_header,id,value,pool); }
/** Generate MRCP recorder header */ static apt_bool_t mrcp_recorder_header_generate(const mrcp_header_accessor_t *accessor, apr_size_t id, apt_str_t *value, apr_pool_t *pool) { mrcp_recorder_header_t *recorder_header = accessor->data; switch(id) { case RECORDER_HEADER_SENSITIVITY_LEVEL: apt_float_value_generate(recorder_header->sensitivity_level,value,pool); break; case RECORDER_HEADER_NO_INPUT_TIMEOUT: apt_size_value_generate(recorder_header->no_input_timeout,value,pool); break; case RECORDER_HEADER_COMPLETION_CAUSE: { apt_completion_cause_generate( completion_cause_string_table, RECORDER_COMPLETION_CAUSE_COUNT, recorder_header->completion_cause, value, pool); break; } case RECORDER_HEADER_COMPLETION_REASON: *value = recorder_header->completion_reason; break; case RECORDER_HEADER_FAILED_URI: *value = recorder_header->failed_uri; break; case RECORDER_HEADER_FAILED_URI_CAUSE: *value = recorder_header->failed_uri_cause; break; case RECORDER_HEADER_RECORD_URI: *value = recorder_header->record_uri; break; case RECORDER_HEADER_MEDIA_TYPE: *value = recorder_header->media_type; break; case RECORDER_HEADER_MAX_TIME: apt_size_value_generate(recorder_header->max_time,value,pool); break; case RECORDER_HEADER_TRIM_LENGTH: apt_size_value_generate(recorder_header->trim_length,value,pool); break; case RECORDER_HEADER_FINAL_SILENCE: apt_size_value_generate(recorder_header->final_silence,value,pool); break; case RECORDER_HEADER_CAPTURE_ON_SPEECH: apt_boolean_value_generate(recorder_header->capture_on_speech,value,pool); break; case RECORDER_HEADER_VER_BUFFER_UTTERANCE: apt_boolean_value_generate(recorder_header->ver_buffer_utterance,value,pool); break; case RECORDER_HEADER_START_INPUT_TIMERS: apt_boolean_value_generate(recorder_header->start_input_timers,value,pool); break; case RECORDER_HEADER_NEW_AUDIO_CHANNEL: apt_boolean_value_generate(recorder_header->new_audio_channel,value,pool); break; default: break; } return TRUE; }
/** Generate MRCP synthesizer header */ static apt_bool_t mrcp_synth_header_generate(const mrcp_header_accessor_t *accessor, size_t id, apt_str_t *value, apr_pool_t *pool) { mrcp_synth_header_t *synth_header = accessor->data; switch(id) { case SYNTHESIZER_HEADER_JUMP_SIZE: mrcp_speech_length_generate(&synth_header->jump_size,value,pool); break; case SYNTHESIZER_HEADER_KILL_ON_BARGE_IN: apt_boolean_value_generate(synth_header->kill_on_barge_in,value,pool); break; case SYNTHESIZER_HEADER_SPEAKER_PROFILE: *value = synth_header->speaker_profile,value; break; case SYNTHESIZER_HEADER_COMPLETION_CAUSE: apt_completion_cause_generate( completion_cause_string_table, SYNTHESIZER_COMPLETION_CAUSE_COUNT, synth_header->completion_cause, value, pool); break; case SYNTHESIZER_HEADER_COMPLETION_REASON: *value = synth_header->completion_reason; break; case SYNTHESIZER_HEADER_VOICE_GENDER: apt_string_table_value_pgenerate( voice_gender_string_table, VOICE_GENDER_COUNT, synth_header->voice_param.gender, value, pool); break; case SYNTHESIZER_HEADER_VOICE_AGE: apt_size_value_generate(synth_header->voice_param.age,value,pool); break; case SYNTHESIZER_HEADER_VOICE_VARIANT: apt_size_value_generate(synth_header->voice_param.variant,value,pool); break; case SYNTHESIZER_HEADER_VOICE_NAME: *value = synth_header->voice_param.name,value; break; case SYNTHESIZER_HEADER_PROSODY_VOLUME: mrcp_prosody_volume_generate(&synth_header->prosody_param.volume,value,pool); break; case SYNTHESIZER_HEADER_PROSODY_RATE: mrcp_prosody_rate_generate(&synth_header->prosody_param.rate,value,pool); break; case SYNTHESIZER_HEADER_SPEECH_MARKER: *value = synth_header->speech_marker; break; case SYNTHESIZER_HEADER_SPEECH_LANGUAGE: *value = synth_header->speech_language; break; case SYNTHESIZER_HEADER_FETCH_HINT: *value = synth_header->fetch_hint; break; case SYNTHESIZER_HEADER_AUDIO_FETCH_HINT: *value = synth_header->audio_fetch_hint; break; case SYNTHESIZER_HEADER_FAILED_URI: *value = synth_header->failed_uri; break; case SYNTHESIZER_HEADER_FAILED_URI_CAUSE: *value = synth_header->failed_uri_cause; break; case SYNTHESIZER_HEADER_SPEAK_RESTART: apt_boolean_value_generate(synth_header->speak_restart,value,pool); break; case SYNTHESIZER_HEADER_SPEAK_LENGTH: mrcp_speech_length_generate(&synth_header->speak_length,value,pool); break; case SYNTHESIZER_HEADER_LOAD_LEXICON: apt_boolean_value_generate(synth_header->load_lexicon,value,pool); break; case SYNTHESIZER_HEADER_LEXICON_SEARCH_ORDER: *value = synth_header->lexicon_search_order; break; default: break; } return TRUE; }