Skip to main content

watch_encode_calls

Function watch_encode_calls 

Source
pub fn watch_encode_calls(beat: impl Fn() + 'static) -> EncodeCallWatch
Expand 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.