(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 | ||
| librtmp | ||
| CMakeLists.txt | ||
| flv-mux.c | ||
| flv-mux.h | ||
| flv-output.c | ||
| obs-output-ver.h | ||
| obs-outputs.c | ||
| rtmp-helpers.h | ||
| rtmp-stream.c | ||