📄 cmchanoperations.c
字号:
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelMiscCommand.");
emaUnlock((EMAElement)channel);
}
}
return RV_TRUE;
}
int switchReceiveMediaOff(H245Control* ctrl, int lcn)
{
cmElem* app=(cmElem*)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
H245Channel* channel=NULL;
HPVT hVal;
int nesting;
if (!app) return RV_ERROR_UNKNOWN;
if (app->cmMyChannelEvent.cmEvChannelMiscCommand != NULL)
{
hVal=app->hVal;
channel=getOutChanByLCN((HCONTROL)ctrl,lcn);
if (emaLock((EMAElement)channel))
{
cmiCBEnter((HAPP)app, "cmEvChannelMiscCommand: haChan=0x%p, hsChan=0x%p, type=%d", emaGetApplicationHandle((EMAElement)channel), channel, cmSwitchReceiveMediaOff);
nesting = emaPrepareForCallback((EMAElement)channel);
app->cmMyChannelEvent.cmEvChannelMiscCommand((HAPPCHAN)emaGetApplicationHandle((EMAElement)channel), (HCHAN)channel, cmSwitchReceiveMediaOff);
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelMiscCommand.");
emaUnlock((EMAElement)channel);
}
}
return RV_TRUE;
}
int switchReceiveMediaOn(H245Control* ctrl, int lcn)
{
cmElem* app=(cmElem*)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
H245Channel* channel=NULL;
HPVT hVal;
int nesting;
if (!app) return RV_ERROR_UNKNOWN;
if (app->cmMyChannelEvent.cmEvChannelMiscCommand != NULL)
{
hVal=app->hVal;
channel=getOutChanByLCN((HCONTROL)ctrl,lcn);
if (emaLock((EMAElement)channel))
{
cmiCBEnter((HAPP)app, "cmEvChannelMiscCommand: haChan=0x%p, hsChan=0x%p, type=%d", emaGetApplicationHandle((EMAElement)channel), channel, cmSwitchReceiveMediaOn);
nesting = emaPrepareForCallback((EMAElement)channel);
app->cmMyChannelEvent.cmEvChannelMiscCommand((HAPPCHAN)emaGetApplicationHandle((EMAElement)channel), (HCHAN)channel, cmSwitchReceiveMediaOn);
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelMiscCommand.");
emaUnlock((EMAElement)channel);
}
}
return RV_TRUE;
}
int videoTemporalSpatialTradeOff(H245Control* ctrl,int message, int lcn, RvInt8 isCommand)
{
HPVT hVal;
cmElem* app=(cmElem*)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
H245Channel* channel=NULL;
int value;
int nesting;
if (!app) return RV_ERROR_UNKNOWN;
if (app->cmMyChannelEvent.cmEvChannelTSTO != NULL)
{
hVal=app->hVal;
channel=getOutChanByLCN((HCONTROL)ctrl,lcn);
if (emaLock((EMAElement)channel))
{
pvtGet(app->hVal, message, NULL, NULL, &value, NULL);
cmiCBEnter((HAPP)app, "cmEvChannelTSTO: haChan=0x%p, hsChan=0x%p, isCommand=%d (command), value=%d",
emaGetApplicationHandle((EMAElement)channel), channel, isCommand, value);
nesting = emaPrepareForCallback((EMAElement)channel);
app->cmMyChannelEvent.cmEvChannelTSTO(
(HAPPCHAN)emaGetApplicationHandle((EMAElement)channel), (HCHAN)channel, isCommand, (RvInt8)value);
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelTSTO.");
emaUnlock((EMAElement)channel);
}
}
return RV_TRUE;
}
int videoFastUpdatePicture(H245Control* ctrl, int lcn)
{
HPVT hVal;
cmElem* app=(cmElem*)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
H245Channel* channel=NULL;
int nesting;
if (!app) return RV_ERROR_UNKNOWN;
hVal=app->hVal;
channel=getOutChanByLCN((HCONTROL)ctrl,lcn);
if (emaLock((EMAElement)channel))
{
cmiCBEnter((HAPP)app, "cmEvChannelVideoFastUpdatePicture: haCall=0x%p, hsCall=0x%p.",
emaGetApplicationHandle((EMAElement)channel), channel);
nesting = emaPrepareForCallback((EMAElement)channel);
ifE (app->cmMyChannelEvent.cmEvChannelVideoFastUpdatePicture)
((HAPPCHAN)emaGetApplicationHandle((EMAElement)channel), (HCHAN)channel);
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelVideoFastUpdatePicture.");
if (!emaWasDeleted((EMAElement)channel))
{
cmiCBEnter((HAPP)app, "cmEvChannelMiscCommand: haChan=0x%p, hsChan=0x%p, type=%d", emaGetApplicationHandle((EMAElement)channel), channel, cmVideoFastUpdatePicture);
nesting = emaPrepareForCallback((EMAElement)channel);
ifE (app->cmMyChannelEvent.cmEvChannelMiscCommand) ((HAPPCHAN)emaGetApplicationHandle((EMAElement)channel), (HCHAN)channel, cmVideoFastUpdatePicture);
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelMiscCommand.");
}
emaUnlock((EMAElement)channel);
}
return RV_TRUE;
}
int videoFastUpdateGOB(H245Control* ctrl,int message, int lcn)
{
HPVT hVal;
cmElem* app=(cmElem*)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
H245Channel* channel=NULL;
RvInt32 firstGOB, numOfGOBS;
int nesting;
if (!app) return RV_ERROR_UNKNOWN;
if (app->cmMyChannelEvent.cmEvChannelVideoFastUpdateGOB != NULL)
{
hVal=app->hVal;
channel=getOutChanByLCN((HCONTROL)ctrl,lcn);
if (emaLock((EMAElement)channel))
{
pvtGetChildValue(hVal, message, __h245(firstGOB), &firstGOB, NULL);
pvtGetChildValue(hVal, message, __h245(numberOfGOBs), &numOfGOBS, NULL);
cmiCBEnter((HAPP)app, "cmEvChannelVideoFastUpdateGOB: haCall=0x%p, hsCall=0x%p, firstGOB=%d, #GOBS=%d.",
emaGetApplicationHandle((EMAElement)channel), channel, firstGOB, numOfGOBS);
nesting = emaPrepareForCallback((EMAElement)channel);
app->cmMyChannelEvent.cmEvChannelVideoFastUpdateGOB(
(HAPPCHAN)emaGetApplicationHandle((EMAElement)channel), (HCHAN)channel, (int)firstGOB, (int)numOfGOBS);
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelVideoFastUpdateGOB.");
emaUnlock((EMAElement)channel);
}
}
return RV_TRUE;
}
int videoFastUpdateMB(H245Control* ctrl,int message, int lcn)
{
HPVT hVal;
cmElem* app=(cmElem*)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
H245Channel* channel=NULL;
RvInt32 firstGOB, firstMB, numOfMBS;
int nesting;
if (!app) return RV_ERROR_UNKNOWN;
if (app->cmMyChannelEvent.cmEvChannelVideoFastUpdateMB != NULL)
{
hVal=app->hVal;
channel=getOutChanByLCN((HCONTROL)ctrl,lcn);
if (emaLock((EMAElement)channel))
{
pvtGetChildValue(hVal, message, __h245(firstGOB), &firstGOB, NULL);
pvtGetChildValue(hVal, message, __h245(firstMB), &firstMB, NULL);
pvtGetChildValue(hVal, message, __h245(numberOfMBs), &numOfMBS, NULL);
cmiCBEnter((HAPP)app, "cmEvChannelVideoFastUpdateMB: haCall=0x%p, hsCall=0x%p, firstGOB=%d, firstMB=%d, #MS=%d.",
emaGetApplicationHandle((EMAElement)channel), channel, firstGOB, firstMB, numOfMBS);
nesting = emaPrepareForCallback((EMAElement)channel);
app->cmMyChannelEvent.cmEvChannelVideoFastUpdateMB(
(HAPPCHAN)emaGetApplicationHandle((EMAElement)channel), (HCHAN)channel, (int)firstGOB, (int)firstMB, (int)numOfMBS);
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelVideoFastUpdateMB.");
emaUnlock((EMAElement)channel);
}
}
return RV_TRUE;
}
int h2250MaximumSkewIndication(H245Control* ctrl,int message)
{
HPVT hVal;
cmElem* app=(cmElem*)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
H245Channel* channel1,* channel2;
RvInt32 lcn1, lcn2, maxSkew;
int nesting;
if (!app) return RV_ERROR_UNKNOWN;
if (app->cmMyChannelEvent.cmEvChannelMaxSkew != NULL)
{
EMAElement callE = (EMAElement)cmiGetByControl((HCONTROL)ctrl);
hVal=app->hVal;
if (emaLock(callE))
{
pvtGetChildValue(hVal, message, __h245(logicalChannelNumber1), &lcn1, NULL);
pvtGetChildValue(hVal, message, __h245(logicalChannelNumber2), &lcn2, NULL);
pvtGetChildValue(hVal, message, __h245(maximumSkew), &maxSkew, NULL);
channel1=getInChanByLCN((HCONTROL)ctrl,lcn1);
channel2=getInChanByLCN((HCONTROL)ctrl,lcn2);
cmiCBEnter((HAPP)app, "cmEvChannelMaxSkew: haCall=0x%p, hsCall=0x%p, chan1=0x%p, chan2=0x%p, skew=%d.",
emaGetApplicationHandle((EMAElement)channel1), channel1, emaGetApplicationHandle((EMAElement)channel2), channel2, maxSkew);
nesting = emaPrepareForCallback(callE);
app->cmMyChannelEvent.cmEvChannelMaxSkew(
(HAPPCHAN)emaGetApplicationHandle((EMAElement)channel1), (HCHAN)channel1,
(HAPPCHAN)emaGetApplicationHandle((EMAElement)channel2), (HCHAN)channel2, (RvUint32)maxSkew);
emaReturnFromCallback(callE, nesting);
cmiCBExit((HAPP)app, "cmEvChannelMaxSkew.");
emaUnlock(callE);
}
}
return 0;
}
int logicalChannelActive(H245Control* ctrl, int lcn)
{
cmElem* app=(cmElem*)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
H245Channel* channel=NULL;
HPVT hVal;
int nesting;
if (!app) return RV_ERROR_UNKNOWN;
if (app->cmMyChannelEvent.cmEvChannelStateChanged != NULL)
{
hVal=app->hVal;
channel=getInChanByLCN((HCONTROL)ctrl,lcn);
if (emaLock((EMAElement)channel))
{
cmiCBEnter((HAPP)app, "cmEvChannelStateChanged: haChan=0x%p, hsChan=0x%p, state=Connected, mode=On", emaGetApplicationHandle((EMAElement)channel), channel);
nesting = emaPrepareForCallback((EMAElement)channel);
app->cmMyChannelEvent.cmEvChannelStateChanged(
(HAPPCHAN)emaGetApplicationHandle((EMAElement)channel), (HCHAN)channel, cmChannelStateConnected, cmChannelStateModeOn);
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelStateChanged.");
emaUnlock((EMAElement)channel);
}
}
return RV_TRUE;
}
int logicalChannelInactive(H245Control* ctrl, int lcn)
{
cmElem* app=(cmElem*)emaGetInstance((EMAElement)cmiGetByControl((HCONTROL)ctrl));
H245Channel* channel=NULL;
HPVT hVal;
int nesting;
if (!app) return RV_ERROR_UNKNOWN;
if (app->cmMyChannelEvent.cmEvChannelStateChanged)
{
hVal=app->hVal;
channel=getInChanByLCN((HCONTROL)ctrl,lcn);
if (emaLock((EMAElement)channel))
{
cmiCBEnter((HAPP)app, "cmEvChannelStateChanged: haChan=0x%p, hsChan=0x%p, state=Connected, mode=Off", emaGetApplicationHandle((EMAElement)channel), channel);
nesting = emaPrepareForCallback((EMAElement)channel);
app->cmMyChannelEvent.cmEvChannelStateChanged(
(HAPPCHAN)emaGetApplicationHandle((EMAElement)channel), (HCHAN)channel, cmChannelStateConnected, cmChannelStateModeOff);
emaReturnFromCallback((EMAElement)channel, nesting);
cmiCBExit((HAPP)app, "cmEvChannelStateChanged.");
emaUnlock((EMAElement)channel);
}
}
return RV_TRUE;
}
int transportCapability(H245Control* ctrl,int message, int lcn)
{
HPVT hVal;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -