|
发表于 2020-4-3 19:02:06
|
显示全部楼层
版主给的代码有毒!!!!运行起来会间歇性瘫痪,蹦出如下错误:
__StreamEncoder::H264_encode_close__
整整花了我三天时间,gdb,一步步进去定位发现是sdp信息为空,DD_H264VideoFileServerMediaSubsession.cpp文件里面getAuxSDPLine函数少了一句代码!!!!
- char const* DD_H264VideoFileServerMediaSubsession::getAuxSDPLine(RTPSink* rtpSink, FramedSource* inputSource)
- {
- char const* auxSDPLine = rtpSink->auxSDPLine();
- if (auxSDPLine != NULL)
- {
- return auxSDPLine;
- }
- else
- {
- char const* fmtpFmt = "a=fmtp:%d packetization-mode=1"
- ";profile-level-id=000000"
- ";sprop-parameter-sets=H264\r\n";
- unsigned fmtpFmtSize = strlen(fmtpFmt)+3/* max char len */;
- char* fmtp = new char[fmtpFmtSize];
- delete[] fAuxSDPLine;
- //缺少下面这一句,调了3天,F**K!!
- memcpy(fmtp,fmtpFmt,fmtpFmtSize*sizeof(char));
- fAuxSDPLine = fmtp;
- return fAuxSDPLine;
- }
- }
|
|