1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-12 19:31:53 +00:00

fix #380, srs-librtmp send sequence header when sps or pps changed.

This commit is contained in:
winlin 2015-08-20 14:20:49 +08:00
parent ec87dd9cd6
commit 575a698820
2 changed files with 10 additions and 4 deletions

View file

@ -342,6 +342,7 @@ Remark:
## History
* v2.0, 2015-08-20, fix [#380](https://github.com/simple-rtmp-server/srs/issues/380), srs-librtmp send sequence header when sps or pps changed.
* v2.0, 2015-08-18, close [#454](https://github.com/simple-rtmp-server/srs/issues/454), support obs restart publish. 2.0.184
* v2.0, 2015-08-14, use reduce_sequence_header for stream control.
* v2.0, 2015-08-14, use send_min_interval for stream control. 2.0.183

View file

@ -1279,8 +1279,8 @@ int srs_write_h264_sps_pps(Context* context, u_int32_t dts, u_int32_t pts)
{
int ret = ERROR_SUCCESS;
// only send when both sps and pps changed.
if (!context->h264_sps_changed || !context->h264_pps_changed) {
// send when sps or pps changed.
if (!context->h264_sps_changed && !context->h264_pps_changed) {
return ret;
}
@ -1330,7 +1330,7 @@ int srs_write_h264_raw_frame(Context* context,
context->h264_sps_changed = true;
context->h264_sps = sps;
return srs_write_h264_sps_pps(context, dts, pts);
return ret;
}
// for pps
@ -1346,7 +1346,12 @@ int srs_write_h264_raw_frame(Context* context,
context->h264_pps_changed = true;
context->h264_pps = pps;
return srs_write_h264_sps_pps(context, dts, pts);
return ret;
}
// send pps+sps before ipb frames when sps/pps changed.
if ((ret = srs_write_h264_sps_pps(context, dts, pts)) != ERROR_SUCCESS) {
return ret;
}
// ibp frame.