Skip to content

wip: Need a way to prevent realtime priority to propagate to GStreamer threads

We have a use case where we promote one or more pipelines from the Linux scheduling policy SCHER_OTHER to SCHER_RR. What we are trying to create a way to prevent the SCHER_RR policy to propagate to the pipeline internal threads.

We have made a patch in the file gstelement.c in the function gst_element_call_async_func that resets the scheduling policy from SCHER_RR to SCHER_OTHER. This patch works but we are not sure that this is the proper way.

We would like to discuss a permanent solution.

I got the following comment from Nicolas Dufresne in issue 382 (#382 (closed)):

"Are you aware of the stream status messages ? When a thread is created in GStreamer, a stream status message is sent. This most of the time used to change the thread priorities."

I am lookin into 'stream status messages' (https://gstreamer.freedesktop.org/documentation/design/stream-status.html). Do have any examples where stream status messages are used to rise/lower thread priority for a pipeline?

Edited by Tim-Philipp Müller

Merge request reports