Esempio n. 1
0
static int
setIntegerParameter (const char *name, int value) {
  logMessage(LOG_DEBUG, "setting swift integer parameter: %s=%d", name, value);
  if (setPortParameter(name, swift_val_int(value))) return 1;
  logMessage(LOG_WARNING, "Couldn't set %s=%d", name, value);
  return 0;
}
Esempio n. 2
0
/** Set Swift port params */
static apt_bool_t mrcp_swift_channel_params_set(mrcp_swift_channel_t *synth_channel, mrcp_message_t *message)
{
	const char *name;
	mrcp_synth_header_t *synth_header = mrcp_resource_header_get(message);
	mrcp_generic_header_t *generic_header = mrcp_generic_header_get(message);

	if(synth_header) {
		if(mrcp_resource_header_property_check(message,SYNTHESIZER_HEADER_PROSODY_VOLUME) == TRUE) {
			int volume = 0;
			if(swift_prosody_volume_get(&synth_header->prosody_param.volume,&volume) == TRUE) {
				name = "audio/volume";
				apt_log(APT_LOG_MARK,APT_PRIO_DEBUG,"Swift Param %s=%d",name,volume);
				mrcp_swift_channel_param_set(synth_channel,name,swift_val_int(volume));
			}
		}
		if(mrcp_resource_header_property_check(message,SYNTHESIZER_HEADER_PROSODY_RATE) == TRUE) {
			int rate = 0;
			if(swift_prosody_rate_get(&synth_header->prosody_param.rate,&rate) == TRUE) {
				name = "speech/rate";
				apt_log(APT_LOG_MARK,APT_PRIO_DEBUG,"Swift Param %s=%d",name,rate);
				mrcp_swift_channel_param_set(synth_channel,name,swift_val_int(rate));
			}
		}
	}

	if(generic_header) {
		if(mrcp_generic_header_property_check(message,GENERIC_HEADER_CONTENT_TYPE) == TRUE) {
			name = "tts/content-type";
			apt_log(APT_LOG_MARK,APT_PRIO_DEBUG,"Swift Param %s=%s",name,generic_header->content_type);
			mrcp_swift_channel_param_set(synth_channel,name,swift_val_string(generic_header->content_type.buf));
		}
		if(mrcp_generic_header_property_check(message,GENERIC_HEADER_CONTENT_ENCODING) == TRUE) {
			name = "tts/text-encoding";
			apt_log(APT_LOG_MARK,APT_PRIO_DEBUG,"Swift Param %s=%s",name,generic_header->content_encoding);
			mrcp_swift_channel_param_set(synth_channel,name,swift_val_string(generic_header->content_encoding.buf));
		}
	}
	
	return TRUE;
}