ts-blocking-adapter

Thread-sharing downstream blocking branch async adapter.

When a threadshare element streams buffers to an element which synchronizes on the clock or which uses a limited blocking queue, the threadshare context is perdiodically blocked, preventing other async tasks from progressing.

One workaround is to use a regular queue with enough buffering to cope with early buffers. This is suboptimal though because this queue doesn't propagate backpressure upstream.

The ts-blocking-adapter applies an async backpressure when downstream blocks, allowing the threadshare context to process other tasks. This is achieved by having the 'sink' Pad forward serialized items (buffers, ...) to the 'src' Pad Task (thread) via a rendezvous channel.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──ts-blocking-adapter

Factory details

Authors: – François Laignel

Classification:Generic

Rank – none

Plugin – threadshare

Package – gst-plugin-threadshare

Pad Templates

sink

ANY

Presencealways

Directionsink

Object typeGstPad


src

ANY

Presencealways

Directionsrc

Object typeGstPad


The results of the search are