pub fn watch_encode_calls(beat: impl Fn() + 'static) -> EncodeCallWatchExpand description
Calls beat on this thread before every encoder and muxer call an encode
sink makes on it, until the returned guard drops.
Some of those calls wait with no timeout: h264_vulkan waits on its
execution fences with UINT64_MAX, and write(2) to a hard-mounted share
that stopped answering is retried forever. Nothing can interrupt them, so
the thread that drives a sink reports where it is instead, and its owner
decides that a call which has not returned in time is stuck. A sink’s calls
all run on the thread that calls the sink, except the AAC encoder’s own
thread, which the sink waits on in a call this beat already covers.