1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 11:51:57 +00:00

for parse video ts.

This commit is contained in:
winlin 2015-03-26 19:52:21 +08:00
parent 896983c1dc
commit a5c5befad1

View file

@ -353,7 +353,6 @@ int SrsMpegtsOverUdp::on_ts_video(SrsTsMessage* msg, SrsStream* avs)
int ibpframe_size = avs->size() - avs->pos();
// send each frame.
bool got_sps_pps = false;
while (!avs->empty()) {
char* frame = NULL;
int frame_size = 0;
@ -370,8 +369,6 @@ int SrsMpegtsOverUdp::on_ts_video(SrsTsMessage* msg, SrsStream* avs)
// for sps
if (avc->is_sps(frame, frame_size)) {
got_sps_pps = true;
std::string sps;
if ((ret = avc->sps_demux(frame, frame_size, sps)) != ERROR_SUCCESS) {
return ret;
@ -410,18 +407,14 @@ int SrsMpegtsOverUdp::on_ts_video(SrsTsMessage* msg, SrsStream* avs)
continue;
}
break;
}
// not ibp frame, ignore for already sent.
if (got_sps_pps) {
srs_info("mpegts: already send the sps/pps.");
return ret;
}
// ibp frame.
srs_info("mpegts: demux avc ibp frame size=%d, dts=%d", ibpframe_size, dts);
return write_h264_ipb_frame(ibpframe, ibpframe_size, dts, pts);
if ((ret = write_h264_ipb_frame(frame, frame_size, dts, pts)) != ERROR_SUCCESS) {
return ret;
}
}
return ret;
}
int SrsMpegtsOverUdp::write_h264_sps_pps(u_int32_t dts, u_int32_t pts)