Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve timestamps handling at recording muxing #714

Conversation

andrey-utkin
Copy link
Contributor

Specifically:

  • Restart recording on timestamping problems
  • Reset last_mux_dts[] on media_writer::close()
  • consistently use AV_NOPTS_VALUE as "NULL" for last_mux_dts
  • don't update last_mux_dts to a bad one which isn't muxed

Reliability regressions were reported on certain setups attributed to changes in 3.1.2 and 3.1.6.

One scenario in which problems arise is: an HDMI-to-RTSP encoder is connected as a device to Bluecherry server, and the upstream video source connected to the encoder is switched off and later back on.

This commit solves the issues for the scenario which we reproduced in our lab.

Specifically:

- Restart recording on timestamping problems
- Reset last_mux_dts[] on media_writer::close()
- consistently use AV_NOPTS_VALUE as "NULL" for last_mux_dts
- don't update last_mux_dts to a bad one which isn't muxed

Reliability regressions were reported on certain setups attributed to
changes in 3.1.2 and 3.1.6.

One scenario in which problems arise is: an HDMI-to-RTSP encoder is
connected as a device to Bluecherry server, and the upstream video
source connected to the encoder is switched off and later back on.

This commit solves the issues for the scenario which we reproduced in
our lab.
@andrey-utkin andrey-utkin merged commit 44f29e3 into bluecherrydvr:master Dec 11, 2024
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants