Commit 274dab6e by xiongziliang

自动计算264前缀大小

parent 08c3c8e5
......@@ -84,10 +84,21 @@ void DevChannel::inputPCM(char* pcData, int iDataLen, uint32_t uiStamp) {
}
#endif //ENABLE_FAAC
void DevChannel::inputH264(const char* pcData, int iDataLen, uint32_t uiStamp , int prefixeSize) {
void DevChannel::inputH264(const char* pcData, int iDataLen, uint32_t uiStamp) {
if(uiStamp == 0){
uiStamp = (uint32_t)_aTicker[0].elapsedTime();
}
int prefixeSize;
if (memcmp("\x00\x00\x00\x01", pcData, 4) == 0) {
prefixeSize = 4;
} else if (memcmp("\x00\x00\x01", pcData, 3) == 0) {
prefixeSize = 3;
} else {
prefixeSize = 0;
}
inputFrame(std::make_shared<H264FrameNoCopyAble>((char *)pcData,iDataLen,uiStamp,prefixeSize));
}
......
......@@ -99,9 +99,8 @@ public:
* @param pcData 264单帧数据指针
* @param iDataLen 数据指针长度
* @param uiStamp 时间戳,单位毫秒;等于0时内部会自动生成时间戳
* @param prefixSize 264 其实头字节数,起始头可以是0x00 00 00 01 或 0x 00 00 01 或者没有起始头
*/
void inputH264(const char *pcData, int iDataLen, uint32_t uiStamp,int prefixSize = 4);
void inputH264(const char *pcData, int iDataLen, uint32_t uiStamp);
/**
* 输入可能带adts头的aac帧
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论