OBS Studio - Free and open source software for live streaming and screen recording
libobs: Add encoder packet timing support
Introduce support for the `encoder_packet_time` struct to capture timing information for each frame, starting from the composition of each frame, through the encoder, to the queueing of the frame data to each output_t. Timestamps for each of the following events are based on `os_gettime_ns()`: CTS: Composition time stamp (in the encoder render threads) FER: Frame encode request FERC: Frame encoder request completely PIR: Packet interleave request (`send_interleaved()`) Frame times are forwarded through encoder callbacks in the context that runs on the relevant encoder thread, ensuring no race conditions with accessing per encoder array happen. All per-output processing happens on data that is owned by the output. Co-authored-by: Ruwen Hahn <haruwenz@twitch.tv>
A
Alex Luccisano committed
6a53b8928f2c9942d8f7fdae1ceedfe7d133bd00
Parent: 26b7b45
Committed by Ryan Foster <ryan@obsproject.com>
on 9/5/2024, 8:38:58 PM