⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 em8xxx_voip_new.c

📁 Sigma SMP8634 Mrua v. 2.8.2.0
💻 C
📖 第 1 页 / 共 4 页
字号:
		snprintf(cid.hour,sizeof(cid.hour),"17");		snprintf(cid.min,sizeof(cid.min),"10");		cid.numlen = 4;		snprintf(cid.number,sizeof(cid.number),"7777");		cid.namelen = 5;		snprintf(cid.name,sizeof(cid.name),"yoann");		RMDBGLOG((ENABLE,"Setting Caller id parameters : month : %s day : %s hour : %s min : %s numlen : %d number : %s namelen : %d name : %s\n",cid.month,cid.day,cid.hour,cid.min,cid.numlen,cid.number,cid.namelen,cid.name));		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Cid_parameters,&cid,sizeof(cid));		command = VoipCodec_Command_Cid_Init;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for CidGen Init Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for CidGen Init Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"CidGen Init Command acknoledged rc = %d\n",rc));		}		command = VoipCodec_Command_Cid_Start;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for CidGen Start Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for CidGen Start Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"CidGen Start Command acknoledged rc = %d\n",rc));		}		tg.freq1 = 17;		tg.freq2 = 0;		tg.time_on = 12000;		tg.time_off = 28000;		tg.level = 1;		tg.ring = 1;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Tone_parameters,&tg,sizeof(tg));				command = VoipCodec_Command_ToneGen_Init;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for ToneGen Init Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for ToneGen Init Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"ToneGen Init Command acknoledged rc = %d\n",rc));		}		command = VoipCodec_Command_ToneGen_Start;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for ToneGen Start Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for ToneGen Start Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"ToneGen Start Command acknoledged rc = %d\n",rc));		}		break;	case PHONE_RING_STOP:		RMDBGLOG((LOCALDBG,"PHONE_RING_STOP \n"));		SlicSetState(pV,NORMAL_ACTIVE);		command = VoipCodec_Command_ToneGen_Stop;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for ToneGen Stop Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for ToneGen Stop Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"ToneGen Stop Command acknoledged rc = %d\n",rc));		}		command = VoipCodec_Command_Cid_Stop;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for CidGen Stop Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for CidGen Stop Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"CidGen Stop Command acknoledged rc = %d\n",rc));		}		break;		case PHONE_RING:        		RMDBGLOG((LOCALDBG,"PHONE_RING \n"));		break;	case PHONE_EXCEPTION:		RMDBGLOG((LOCALDBG,"PHONE_EXCEPTION \n"));		retval = pV->exc.bytes;		pV->exc.bytes = 0;		break;	case PHONE_HOOKSTATE:		RMDBGLOG((LOCALDBG,"PHONE_HOOKSTATE \n"));		pV->exc.bits.hookstate = 0;		retval = !read_gpio(pE,GPIO_LOOP_DETECT);		break;	case PHONE_FRAME:		RMDBGLOG((LOCALDBG,"PHONE_FRAME \n"));		break;	case PHONE_REC_CODEC:		RMDBGLOG((LOCALDBG,"PHONE_REC_CODEC \n"));		switch(arg){		case G723_63:			break;		case G723_53:			break;		case TS85:			break;		case TS48:			break;		case TS41:			break;		case G728:			break;		case G729:			RMDBGLOG((ENABLE,"Recording codec : G729\n"));			enc_codec = VoipCodec_Encoder_Codec_G729;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Encoder_Codec,&enc_codec,sizeof(enc_codec));			command = VoipCodec_Command_Encoder_Init;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));			rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));			if (rc == 0) {				RMDBGLOG((LOCALDBG,"Timeout while waiting for Encoder Init Command Completion\n"));				return RM_PENDING;			}			else if (kc_signal_pending_current()) {				RMDBGLOG((LOCALDBG,"Interrupted while waiting for Encoder Init Command Completion\n"));				return RM_PENDING;			}			else {				RMDBGLOG((LOCALDBG,"Encoder Init Command acknoledged rc = %d\n",rc));			}			break;		case ULAW:			RMDBGLOG((ENABLE,"Recording codec : ULAW\n"));			enc_codec = VoipCodec_Encoder_Codec_G711_ULAW;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Encoder_Codec,&enc_codec,sizeof(enc_codec));			command = VoipCodec_Command_Encoder_Init;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));			rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));			if (rc == 0) {				RMDBGLOG((LOCALDBG,"Timeout while waiting for Encoder Init Command Completion\n"));				return RM_PENDING;			}			else if (kc_signal_pending_current()) {				RMDBGLOG((LOCALDBG,"Interrupted while waiting for Encoder Init Command Completion\n"));				return RM_PENDING;			}			else {				RMDBGLOG((LOCALDBG,"Encoder Init Command acknoledged rc = %d\n",rc));			}			break;		case ALAW:			RMDBGLOG((ENABLE,"Recording codec : ALAW\n"));			enc_codec = VoipCodec_Encoder_Codec_G711_ALAW;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Encoder_Codec,&enc_codec,sizeof(enc_codec));			command = VoipCodec_Command_Encoder_Init;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));			rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));			if (rc == 0) {				RMDBGLOG((LOCALDBG,"Timeout while waiting for Encoder Init Command Completion\n"));				return RM_PENDING;			}			else if (kc_signal_pending_current()) {				RMDBGLOG((LOCALDBG,"Interrupted while waiting for Encoder Init Command Completion\n"));				return RM_PENDING;			}			else {				RMDBGLOG((LOCALDBG,"Encoder Init Command acknoledged rc = %d\n",rc));			}			break;		case LINEAR16:			RMDBGLOG((ENABLE,"Recording codec : S16_LINEAR\n"));			enc_codec = VoipCodec_Encoder_Codec_G711_LINEAR;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Encoder_Codec,&enc_codec,sizeof(enc_codec));			command = VoipCodec_Command_Encoder_Init;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));			rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));			if (rc == 0) {				RMDBGLOG((LOCALDBG,"Timeout while waiting for Encoder Init Command Completion\n"));				return RM_PENDING;			}			else if (kc_signal_pending_current()) {				RMDBGLOG((LOCALDBG,"Interrupted while waiting for Encoder Init Command Completion\n"));				return RM_PENDING;			}			else {				RMDBGLOG((LOCALDBG,"Encoder Init Command acknoledged rc = %d\n",rc));			}			break;		case LINEAR8:			break;		}		break;	case PHONE_VAD:		RMDBGLOG((LOCALDBG,"PHONE_VAD \n"));		break;	case PHONE_REC_START:		RMDBGLOG((LOCALDBG,"PHONE_REC_START \n"));//		command = VoipCodec_Command_Aec_Start;//		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));//		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));//		if (rc == 0) {//			RMDBGLOG((LOCALDBG,"Timeout while waiting for AEC Start Command Completion\n"));//			return RM_PENDING;//		}//		else if (kc_signal_pending_current()) {//			RMDBGLOG((LOCALDBG,"Interrupted while waiting for AEC Start Command Completion\n"));//			return RM_PENDING;//		}//		else {//			RMDBGLOG((LOCALDBG,"AEC Start Command acknoledged rc = %d\n",rc));//		}		command = VoipCodec_Command_Encoder_Start;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for Encoder Start Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for Encoder Start Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"Encoder Start Command acknoledged rc = %d\n",rc));		}		break;	case PHONE_REC_STOP:		RMDBGLOG((LOCALDBG,"PHONE_REC_STOP \n"));		command = VoipCodec_Command_Aec_Stop;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for AEC Stop Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for AEC Stop Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"AEC Stop Command acknoledged rc = %d\n",rc));		}		command = VoipCodec_Command_Encoder_Stop;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for Encoder Stop Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for Encoder Stop Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"Encoder Stop Command acknoledged rc = %d\n",rc));		}		break;	case PHONE_REC_DEPTH:		RMDBGLOG((LOCALDBG,"PHONE_REC_DEPTH \n"));		break;	case PHONE_REC_VOLUME:		RMDBGLOG((LOCALDBG,"PHONE_REC_VOLUME \n"));		break;	case PHONE_REC_VOLUME_LINEAR:		RMDBGLOG((LOCALDBG,"PHONE_REC_VOLUME_LINEAR \n"));		break;	case PHONE_REC_LEVEL:		RMDBGLOG((LOCALDBG,"PHONE_REC_LEVEL \n"));		break;	case PHONE_PLAY_CODEC:		RMDBGLOG((LOCALDBG,"PHONE_PLAY_CODEC \n"));		switch(arg){		case G723_63:			break;		case G723_53:			break;		case TS85:			break;		case TS48:			break;		case TS41:			break;		case G728:			break;		case G729:			RMDBGLOG((ENABLE,"Playback codec : G729\n"));			dec_codec = VoipCodec_Decoder_Codec_G729;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Decoder_Codec,&dec_codec,sizeof(dec_codec));			command = VoipCodec_Command_Decoder_Init;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));			rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));			if (rc == 0) {				RMDBGLOG((LOCALDBG,"Timeout while waiting for Decoder Init Command Completion\n"));				return RM_PENDING;			}			else if (kc_signal_pending_current()) {				RMDBGLOG((LOCALDBG,"Interrupted while waiting for Decoder Init Command Completion\n"));				return RM_PENDING;			}			else {				RMDBGLOG((LOCALDBG,"Decoder Init Command acknoledged rc = %d\n",rc));			}			break;		case ULAW:			RMDBGLOG((ENABLE,"Playback codec : ULAW\n"));			dec_codec = VoipCodec_Decoder_Codec_G711_ULAW;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Decoder_Codec,&dec_codec,sizeof(dec_codec));			command = VoipCodec_Command_Decoder_Init;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));			rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));			if (rc == 0) {				RMDBGLOG((LOCALDBG,"Timeout while waiting for Decoder Init Command Completion\n"));				return RM_PENDING;			}			else if (kc_signal_pending_current()) {				RMDBGLOG((LOCALDBG,"Interrupted while waiting for Decoder Init Command Completion\n"));				return RM_PENDING;			}			else {				RMDBGLOG((LOCALDBG,"Decoder Init Command acknoledged rc = %d\n",rc));			}			break;		case ALAW:			RMDBGLOG((ENABLE,"Playback codec : ALAW\n"));			dec_codec = VoipCodec_Decoder_Codec_G711_ALAW;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Decoder_Codec,&dec_codec,sizeof(dec_codec));			command = VoipCodec_Command_Decoder_Init;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));			rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));			if (rc == 0) {				RMDBGLOG((LOCALDBG,"Timeout while waiting for Decoder Init Command Completion\n"));				return RM_PENDING;			}			else if (kc_signal_pending_current()) {				RMDBGLOG((LOCALDBG,"Interrupted while waiting for Decoder Init Command Completion\n"));				return RM_PENDING;			}			else {				RMDBGLOG((LOCALDBG,"Decoder Init Command acknoledged rc = %d\n",rc));			}			break;		case LINEAR16:			RMDBGLOG((ENABLE,"Playback codec : S16_LINEAR\n"));			dec_codec = VoipCodec_Decoder_Codec_G711_LINEAR;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Decoder_Codec,&dec_codec,sizeof(dec_codec));			command = VoipCodec_Command_Decoder_Init;			EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));			rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));			if (rc == 0) {				RMDBGLOG((LOCALDBG,"Timeout while waiting for Decoder Init Command Completion\n"));				return RM_PENDING;			}			else if (kc_signal_pending_current()) {				RMDBGLOG((LOCALDBG,"Interrupted while waiting for Decoder Init Command Completion\n"));				return RM_PENDING;			}			else {				RMDBGLOG((LOCALDBG,"Decoder Init Command acknoledged rc = %d\n",rc));			}			break;		case LINEAR8:			break;		}		break;	case PHONE_PLAY_START:		RMDBGLOG((LOCALDBG,"PHONE_PLAY_START \n"));		SlicSetState(pV,NORMAL_ACTIVE);		command = VoipCodec_Command_ToneGen_Stop;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for ToneGen Stop Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for ToneGen Stop Command Completion\n"));			return RM_PENDING;		}		else {			RMDBGLOG((LOCALDBG,"ToneGen Stop Command acknoledged rc = %d\n",rc));		}		command = VoipCodec_Command_Cid_Stop;		EM8XXXVOIPSP(pE,VoipCodec,RMVoipCodecPropertyID_Command,&command,sizeof(command));		rc = kc_interruptible_sleep_on_timeout(pV->command_q,US_TO_JIFFIES(VOIP_EVENT_TIMEOUT_US));		if (rc == 0) {			RMDBGLOG((LOCALDBG,"Timeout while waiting for CidGen Stop Command Completion\n"));			return RM_PENDING;		}		else if (kc_signal_pending_current()) {			RMDBGLOG((LOCALDBG,"Interrupted while waiting for CidGen Stop Command Completion\n"));			return RM_PENDING;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -