修复推送H265的时候,每一帧都split导致耗时过长

This commit is contained in:
zqsong 2019-09-09 10:44:34 +08:00
parent 2192451cd1
commit 005db3cbc5

View File

@ -267,8 +267,10 @@ public:
* @param frame
*/
void inputFrame(const Frame::Ptr &frame) override{
bool first_frame = true;
splitH264(frame->data() + frame->prefixSize(),
int type = H265_TYPE(*((uint8_t *)frame->data() + frame->prefixSize()));
if(type == H265Frame::NAL_VPS){
bool first_frame = true;
splitH264(frame->data() + frame->prefixSize(),
frame->size() - frame->prefixSize(),
[&](const char *ptr, int len){
if(first_frame){
@ -286,6 +288,9 @@ public:
inputFrame_l(sub_frame);
}
});
}else{
inputFrame_l(frame);
}
}
private: