废话不多说,直接上关键部分的代码
-(void)encode:(CMSampleBufferRef)sampleBuffer isCrop:(BOOL)isCrop
{
log4cplus_debug("h264", "encoder video data\n");
if (self.error) {
log4cplus_error("h264", "error = %d",self.error);
}
if(self.error == Error_Restart5TimesStillFailured)
{
log4cplus_debug("h264", "%s,restart encoder more than 5 times, %d",__func__,__LINE__);
[self.delegate didRestartFailured];
}
[m_lock lock];
if(self.isReadyForEncode)
{