...
|
...
|
@@ -25,9 +25,13 @@ |
|
|
#include "Megaphone/Music/AudioFile/Megaphone_AudioFile.h"
|
|
|
#include "Megaphone/Opus/Megaphone_Opus.h"
|
|
|
#include "Megaphone/PcmAudio/PcmAudioFile.h"
|
|
|
#endif
|
|
|
|
|
|
#ifdef AUDIODEAL_CONFIG_STATUS_ON
|
|
|
#include "AudioDeal/AudioDeal.h"
|
|
|
#endif
|
|
|
|
|
|
|
|
|
static int HalRecvMode = JZ_FLAGCODE_OFF; //接收模式,主要是为了限制不同设备同时要求hal层做出 同一个数据接收相关功能 ,目前做法是只限定一个hal设备使用一种数据接收模式
|
|
|
static int HalRecvDataLen = 0; //用于计算接收数据长度
|
|
|
|
...
|
...
|
@@ -895,12 +899,12 @@ static T_JZsdkReturnCode RecvDeal_audio_GetMusicList(int Port, char *getbuf) |
|
|
#ifdef MEGAPHONE_CONFIG_STATUS_ON
|
|
|
|
|
|
//刷新歌曲列表
|
|
|
ret = Megaphone_Flush_MusicList();
|
|
|
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
// ret = Megaphone_Flush_MusicList();
|
|
|
// if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
// {
|
|
|
// HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
// return JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
// }
|
|
|
|
|
|
//解析获取的类型
|
|
|
int type = getbuf[9];
|
...
|
...
|
@@ -1640,6 +1644,8 @@ static T_JZsdkReturnCode RecvDeal_Delete_Audio(int Port, char *getbuf) |
|
|
memcpy(FileName, &getbuf[9], FileName_Length);
|
|
|
FileName[FileName_Length] = '\0'; // 确保文件名以null结尾
|
|
|
|
|
|
JZSDK_LOG_INFO("删除音频:%s", FileName);
|
|
|
|
|
|
//3、拼接指令
|
|
|
char FilePath[512];
|
|
|
snprintf(FilePath, 512 ,"/root/sdcard/audio/%s", FileName);
|
...
|
...
|
@@ -3063,6 +3069,8 @@ static T_JZsdkReturnCode RecvDeal_SearchLight_SubscriptionControl(int Port, char |
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
UIcontrol_Set_SearchLight_MessageSubscribe(Port, value);
|
|
|
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
|
...
|
...
|
@@ -3332,8 +3340,305 @@ static T_JZsdkReturnCode RecvDeal_Upgrade_End(int Port, char *getbuf) |
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
/*******************************************************************************************************************************
|
|
|
*
|
|
|
* 视频流部分
|
|
|
*
|
|
|
* *******************************************************************************************************************************/
|
|
|
T_JZsdkReturnCode RecvDeal_Set_VideoPushIndex(int Port, char *getbuf)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("%s,视频推送索引",JZsdk_DefineCode_GetPortName(Port));
|
|
|
|
|
|
//获取帧的序列号
|
|
|
int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
|
|
|
|
|
|
//1、通过数据帧,获取控制值
|
|
|
int value = getbuf[9];
|
|
|
|
|
|
T_JZsdkReturnCode ret = UIcontrol_Set_VideoMgmtPushIndex(Port, value);
|
|
|
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//回复操作失败
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
T_JZsdkReturnCode RecvDeal_Set_ShutterControl(int Port, char *getbuf)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("%s,快门控制",JZsdk_DefineCode_GetPortName(Port));
|
|
|
|
|
|
//获取帧的序列号
|
|
|
int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
|
|
|
|
|
|
//1、通过数据帧,获取控制值
|
|
|
int value = getbuf[9];
|
|
|
|
|
|
T_JZsdkReturnCode ret = UIcontrol_Set_ShutterSwitch(Port, value);
|
|
|
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//回复操作失败
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
T_JZsdkReturnCode RecvDeal_Set_FreezeControl(int Port, char *getbuf)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("%s,冻结控制",JZsdk_DefineCode_GetPortName(Port));
|
|
|
|
|
|
//获取帧的序列号
|
|
|
int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
|
|
|
|
|
|
//1、通过数据帧,获取控制值
|
|
|
int value = getbuf[9];
|
|
|
|
|
|
T_JZsdkReturnCode ret = UIcontrol_FreezeVideo(Port, value);
|
|
|
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//回复操作失败
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
T_JZsdkReturnCode RecvDeal_Set_IRCCorrectWay(int Port, char *getbuf)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("%s,红外校正方式",JZsdk_DefineCode_GetPortName(Port));
|
|
|
|
|
|
//获取帧的序列号
|
|
|
int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
|
|
|
|
|
|
//1、通过数据帧,获取控制值
|
|
|
int value = getbuf[10];
|
|
|
|
|
|
T_JZsdkReturnCode ret = UIcontrol_CameraCorrectionMode(Port, value);
|
|
|
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//回复操作失败
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
T_JZsdkReturnCode RecvDeal_Set_IRCCorrectSPCParam(int Port, char *getbuf)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("%s,红外spc控制",JZsdk_DefineCode_GetPortName(Port));
|
|
|
|
|
|
T_JZsdkReturnCode ret;
|
|
|
|
|
|
//获取帧的序列号
|
|
|
int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
|
|
|
|
|
|
//1、通过数据帧,获取控制值
|
|
|
int mode = getbuf[9];
|
|
|
int value = getbuf[10];
|
|
|
|
|
|
//单点档位
|
|
|
if (mode == 0x00)
|
|
|
{
|
|
|
ret = UIcontrol_Set_SPCmode(Port, value);
|
|
|
}
|
|
|
//单点校正模式
|
|
|
else if (mode == 0x01)
|
|
|
{
|
|
|
ret = UIcontrol_Camera_SPC_ResetSwitch(Port, value);
|
|
|
}
|
|
|
//修改自动校正时间
|
|
|
else if (mode == 0x02)
|
|
|
{
|
|
|
ret = UIcontrol_Set_SpcAutoTime(Port, value);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
|
|
|
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//回复操作失败
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
|
|
|
T_JZsdkReturnCode RecvDeal_Set_IRCCorrectTPCParam(int Port, char *getbuf)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("%s,红外tpc控制",JZsdk_DefineCode_GetPortName(Port));
|
|
|
|
|
|
T_JZsdkReturnCode ret;
|
|
|
|
|
|
//获取帧的序列号
|
|
|
int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
|
|
|
|
|
|
//1、通过数据帧,获取控制值
|
|
|
int mode = getbuf[9];
|
|
|
int value = getbuf[10];
|
|
|
|
|
|
//单点档位
|
|
|
if (mode == 0x00)
|
|
|
{
|
|
|
ret = UIcontrol_Set_TpcMode(Port, value);
|
|
|
}
|
|
|
//修改两点校正数据组
|
|
|
else if (mode == 0x01)
|
|
|
{
|
|
|
ret = UI_control_IrcMarkLowAndHighTemp(Port, value);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
|
|
|
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//回复操作失败
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
T_JZsdkReturnCode RecvDeal_Set_IRCCorrectColorOutputMode(int Port, char *getbuf)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("%s,红外校正颜色输出模式",JZsdk_DefineCode_GetPortName(Port));
|
|
|
|
|
|
//获取帧的序列号
|
|
|
int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
|
|
|
|
|
|
//1、通过数据帧,获取控制值
|
|
|
int value = getbuf[10];
|
|
|
|
|
|
T_JZsdkReturnCode ret = UIcontrol_Set_PixelColorMode(Port, value);
|
|
|
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//回复操作失败
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
T_JZsdkReturnCode RecvDeal_Set_IRCCorrectPseudoColorParam(int Port, char *getbuf)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("%s,红外伪彩参数",JZsdk_DefineCode_GetPortName(Port));
|
|
|
|
|
|
T_JZsdkReturnCode ret;
|
|
|
|
|
|
//获取帧的序列号
|
|
|
int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
|
|
|
|
|
|
//1、通过数据帧,获取控制值
|
|
|
int mode = getbuf[9];
|
|
|
int value = getbuf[10];
|
|
|
|
|
|
//修改伪彩颜色
|
|
|
if(mode == 0x00)
|
|
|
{
|
|
|
ret = UIcontrol_Set_PseudoColor(Port, value);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
|
|
|
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//回复操作失败
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
T_JZsdkReturnCode RecvDeal_Set_IRCCorrectGasEnhanceParam(int Port, char *getbuf)
|
|
|
{
|
|
|
JZSDK_LOG_INFO("%s,红外气体增强参数",JZsdk_DefineCode_GetPortName(Port));
|
|
|
|
|
|
T_JZsdkReturnCode ret;
|
|
|
|
|
|
//获取帧的序列号
|
|
|
int FrameSequence = JZsdk_Get_FrameSequence(getbuf);
|
|
|
|
|
|
//1、通过数据帧,获取控制值
|
|
|
int mode = getbuf[9];
|
|
|
int value = getbuf[10];
|
|
|
|
|
|
//修改气体增强颜色
|
|
|
if(mode == 0x00)
|
|
|
{
|
|
|
ret = UIcontrol_Set_GasEnhancementColor(Port, value);
|
|
|
}
|
|
|
else if (mode == 0x01)
|
|
|
{
|
|
|
ret = UIcontrol_GasEnhancementCorrect(Port, value);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ret = JZ_ERROR_SYSTEM_MODULE_CODE_FAILURE;
|
|
|
}
|
|
|
|
|
|
if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
//回复操作成功
|
|
|
HalSend_type1Send_Reply_Success(Port, FrameSequence);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//回复操作失败
|
|
|
HalSend_type1Send_Reply_Failure(Port, FrameSequence);
|
|
|
}
|
|
|
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
/*******************************************************************************************************************************
|
|
|
*
|
...
|
...
|
@@ -4152,11 +4457,15 @@ static T_JZsdkReturnCode RecvDeal_SetSpecialParameters(int Port, char *getbuf) |
|
|
//0x01设置滤波
|
|
|
case 0x01:
|
|
|
{
|
|
|
ret = Main_M30_all_filter_mode(&value);
|
|
|
#ifdef MEGAPHONE_CONFIG_STATUS_ON
|
|
|
|
|
|
ret = AudioDeal_SetFilterMode(value);
|
|
|
if(ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
JZSDK_LOG_ERROR("特参一失败");
|
|
|
}
|
|
|
|
|
|
#endif
|
|
|
}
|
|
|
break;
|
|
|
|
...
|
...
|
@@ -4209,11 +4518,11 @@ static T_JZsdkReturnCode RecvDeal_CheckSpecialParameters(int Port, char *getbuf) |
|
|
//0x01设置滤波
|
|
|
case 0x01:
|
|
|
{
|
|
|
ret = Main_M30_all_filter_mode(&value);
|
|
|
if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
|
|
|
{
|
|
|
JZSDK_LOG_ERROR("特参一获取失败");
|
|
|
}
|
|
|
#ifdef MEGAPHONE_CONFIG_STATUS_ON
|
|
|
|
|
|
value = AudioDeal_GetFilterMode();
|
|
|
ret = JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
|
|
|
#endif
|
|
|
}
|
|
|
break;
|
|
|
|
...
|
...
|
@@ -4853,6 +5162,50 @@ static T_JZsdkReturnCode RecvDeal_InstructInput(int Port, int Receive_mode, unsi |
|
|
RecvDeal_Upgrade_End(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
//设置推流索引值
|
|
|
case JZ_INSCODE_5AFRAME_CAMERA_VIDEO_PUSH_INDEX:
|
|
|
RecvDeal_Set_VideoPushIndex(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
//设置快门控制
|
|
|
case JZ_INSCODE_5AFRAME_CAMERA_SHUTTER_CONTROL:
|
|
|
RecvDeal_Set_ShutterControl(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
//冻结控制
|
|
|
case JZ_INSCODE_5AFRAME_CAMERA_FREEZE_CONTROL:
|
|
|
RecvDeal_Set_FreezeControl(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
//红外校正方式
|
|
|
case JZ_INSOCDE_5AFRAME_IRC_CORRECT_WAY:
|
|
|
RecvDeal_Set_IRCCorrectWay(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
//红外单点参数
|
|
|
case JZ_INSCODE_5AFRAME_IRC_SPC_PARAM:
|
|
|
RecvDeal_Set_IRCCorrectSPCParam(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
//红外两点参数
|
|
|
case JZ_INSCODE_5AFRAME_IRC_TPC_PARAM:
|
|
|
RecvDeal_Set_IRCCorrectTPCParam(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
//红外色彩输出模式
|
|
|
case JZ_INSOCDE_5AFRAME_IRC_OUTPUT_COLOR_MODE:
|
|
|
RecvDeal_Set_IRCCorrectColorOutputMode(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
//红外伪彩输出控制
|
|
|
case JZ_INSCODE_5AFRAME_IRC_PSEUDO_COLOR_PARAM:
|
|
|
RecvDeal_Set_IRCCorrectPseudoColorParam(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
//红外气体增强控制
|
|
|
case JZ_INSCODE_5AFRAME_IRC_GAS_ENHANCE_PARAM:
|
|
|
RecvDeal_Set_IRCCorrectGasEnhanceParam(Port,getbuf);
|
|
|
break;
|
|
|
|
|
|
/*******************************************************************************************************************************
|
|
|
*
|
...
|
...
|
|