winlin

ignore when sps/pps consumed all frame.

@@ -404,6 +404,15 @@ int SrsMpegtsOverUdp::on_ts_video(SrsTsMessage* msg, SrsStream* avs) @@ -404,6 +404,15 @@ int SrsMpegtsOverUdp::on_ts_video(SrsTsMessage* msg, SrsStream* avs)
404 } 404 }
405 continue; 405 continue;
406 } 406 }
  407 +
  408 + // regenerat the ibp frame.
  409 + if (!avs->empty()) {
  410 + ibpframe = avs->data() + avs->pos();
  411 + ibpframe_size = avs->size() - avs->pos();
  412 + } else {
  413 + srs_info("mpegts: sps/pps frame consumed.");
  414 + return ret;
  415 + }
407 416
408 break; 417 break;
409 } 418 }