91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 858KB
    文件類型: .gz
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-01
  • 語(yǔ)言: 其他
  • 標(biāo)簽: Live555??

資源簡(jiǎn)介

rtsp_server 為工程主目錄 livelib 為live555 庫(kù)目錄 RtspServer.cpp 為主程序 H264LiveVideoServerMediaSubsession.cpp H264LiveVideoSource.cpp 為創(chuàng)建對(duì)話和獲取幀類 其他為平臺(tái)獲取幀代碼和庫(kù)

資源截圖

代碼片段和文件信息


#include?“H264LiveVideoServerMediaSubsession.hh“
#include?“H264VideoRTPSink.hh“
#include?“H264VideoStreamframer.hh“
#include?“H265VideoRTPSink.hh“
#include?“H265VideoStreamframer.hh“

#include?“H264LiveVideoSource.hh“

H264LiveVideoServerMediaSubsession*
H264LiveVideoServerMediaSubsession::createNew(UsageEnvironment&?env
??????char?const*?chanID
??????Boolean?reuseFirstSource)?{
??return?new?H264LiveVideoServerMediaSubsession(env?chanID?reuseFirstSource);
}

H264LiveVideoServerMediaSubsession::H264LiveVideoServerMediaSubsession(UsageEnvironment&?env
???????char?const*?chanID?Boolean?reuseFirstSource)
??:?OnDemandServerMediaSubsession(envreuseFirstSource)
????fAuxSDPLine(NULL)?fDoneFlag(0)?fDummyRTPSink(NULL)?{
????fChanID?=?strDup(chanID);
if(NULL?==?fChanID)
fChanID?=?strDup(“720p-stream“);
env?<#ifdef?GET_VIDEO_frame_FROM_DRIVER
????TENDCAM_PARAM_VIDEO?video[2];
tend_CamVideo_hal_initDevice(TEND_STREAMID_LIVE?&video[TEND_STREAMID_LIVE]);
#endif
???//?printf(“~~~~~~~%s?line?:%d?\n?“__func____LINE__);
}

H264LiveVideoServerMediaSubsession::~H264LiveVideoServerMediaSubsession()?{
?//???printf(“~~~~~~~%s?line?:%d?\n?“__func____LINE__);
?#ifdef?GET_VIDEO_frame_FROM_DRIVER
????tend_CamVideo_hal_releaseallDevice();
?#endif
????delete[]?fAuxSDPLine;
????delete[]?fChanID;
}

static?void?afterPlayingDummy(void*?clientData)?{
??//??printf(“~~~~~~~%s?line?:%d?\n?“__func____LINE__);
??H264LiveVideoServerMediaSubsession*?subsess?=?(H264LiveVideoServerMediaSubsession*)clientData;
??subsess->afterPlayingDummy1();
}

void?H264LiveVideoServerMediaSubsession::afterPlayingDummy1()?{
?//???printf(“~~~~~~~%s?line?:%d?\n?“__func____LINE__);
??//?Unschedule?any?pending?‘checking‘?task:
??envir().taskScheduler().unscheduleDelayedTask(nextTask());
??//?Signal?the?event?loop?that?we‘re?done:
??setDoneFlag();
}

static?void?checkForAuxSDPLine(void*?clientData)?{
//????printf(“~~~~~~~%s?line?:%d?\n?“__func____LINE__);
??H264LiveVideoServerMediaSubsession*?subsess?=?(H264LiveVideoServerMediaSubsession*)clientData;
??subsess->checkForAuxSDPLine1();
}

void?H264LiveVideoServerMediaSubsession::checkForAuxSDPLine1()?{
//????printf(“~~~~~~~%s?line?:%d?\n?“__func____LINE__);
??char?const*?dasl;
??if?(fAuxSDPLine?!=?NULL)?{
????//?Signal?the?event?loop?that?we‘re?done:
????setDoneFlag();
??}?else?if?(fDummyRTPSink?!=?NULL?&&?(dasl?=?fDummyRTPSink->auxSDPLine())?!=?NULL)?{
????fAuxSDPLine?=?strDup(dasl);
????fDummyRTPSink?=?NULL;

????//?Signal?the?event?loop?that?we‘re?done:
????setDoneFlag();
??}?else?if?(!fDoneFlag)?{
????//?try?again?after?a?brief?delay:
????//int?uSecsToDelay?=?100000;?//?100?ms
????int?uSecsToDelay?=?10;?//?100?ms
????nextTask()?=?envir().taskScheduler().scheduleDelayedTask(uSecsToDelay
??????(TaskFunc*)checkForAuxSDPLine?this);
??}
}

char?const*?H264LiveVideoServerMediaSubsession::getAuxSDPLine(RTPSink*?rtpSink?framedSource*?inputSource)?

評(píng)論

共有 條評(píng)論