(Note: This commit also modifies obs-ffmpeg and obs-outputs) API Changed: obs_output_info::void (*stop)(void *data); To: obs_output_info::void (*stop)(void *data, uint64_t ts); This fixes the long-time design flaw where obs_output_stop and the output 'stop' callback would just shut down the output without considering the timing of when obs_output_stop was used, discarding any possible buffering and causing the output to get cut off at an unexpected timing. The 'stop' callback of obs_output_info now takes a timestamp with the expectation that the output will use that timestamp to stop output data in accordance to that timing. obs_output_stop now records the timestamp at the time that the function is called and calls the 'stop' callback with that timestamp. If needed, obs_output_force_stop will still stop the output immediately without buffering. |
||
|---|---|---|
| .. | ||
| data/locale | ||
| ffmpeg-mux | ||
| closest-pixel-format.h | ||
| CMakeLists.txt | ||
| obs-ffmpeg-aac.c | ||
| obs-ffmpeg-compat.h | ||
| obs-ffmpeg-formats.h | ||
| obs-ffmpeg-mux.c | ||
| obs-ffmpeg-nvenc.c | ||
| obs-ffmpeg-output.c | ||
| obs-ffmpeg-source.c | ||
| obs-ffmpeg.c | ||