mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
for parse video ts.
This commit is contained in:
parent
896983c1dc
commit
a5c5befad1
1 changed files with 7 additions and 14 deletions
|
@ -353,7 +353,6 @@ int SrsMpegtsOverUdp::on_ts_video(SrsTsMessage* msg, SrsStream* avs)
|
||||||
int ibpframe_size = avs->size() - avs->pos();
|
int ibpframe_size = avs->size() - avs->pos();
|
||||||
|
|
||||||
// send each frame.
|
// send each frame.
|
||||||
bool got_sps_pps = false;
|
|
||||||
while (!avs->empty()) {
|
while (!avs->empty()) {
|
||||||
char* frame = NULL;
|
char* frame = NULL;
|
||||||
int frame_size = 0;
|
int frame_size = 0;
|
||||||
|
@ -370,8 +369,6 @@ int SrsMpegtsOverUdp::on_ts_video(SrsTsMessage* msg, SrsStream* avs)
|
||||||
|
|
||||||
// for sps
|
// for sps
|
||||||
if (avc->is_sps(frame, frame_size)) {
|
if (avc->is_sps(frame, frame_size)) {
|
||||||
got_sps_pps = true;
|
|
||||||
|
|
||||||
std::string sps;
|
std::string sps;
|
||||||
if ((ret = avc->sps_demux(frame, frame_size, sps)) != ERROR_SUCCESS) {
|
if ((ret = avc->sps_demux(frame, frame_size, sps)) != ERROR_SUCCESS) {
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -410,18 +407,14 @@ int SrsMpegtsOverUdp::on_ts_video(SrsTsMessage* msg, SrsStream* avs)
|
||||||
continue;
|
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.
|
// ibp frame.
|
||||||
srs_info("mpegts: demux avc ibp frame size=%d, dts=%d", ibpframe_size, dts);
|
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)
|
int SrsMpegtsOverUdp::write_h264_sps_pps(u_int32_t dts, u_int32_t pts)
|
||||||
|
|
Loading…
Reference in a new issue