Monado OpenXR Runtime
|
An xrt_frame_sink queue, any frames received will be pushed to the downstream consumer on the queue thread. More...
Data Fields | |
struct xrt_frame_sink | base |
Base sink. More... | |
struct xrt_frame_node | node |
For tracking on the frame context. More... | |
struct xrt_frame_sink * | consumer |
The consumer of the frames that are queued. More... | |
struct u_sink_queue_elem * | front |
Front of the queue (oldest frame, first to be consumed) More... | |
struct u_sink_queue_elem * | back |
Back of the queue (newest frame, back->next is always null) More... | |
uint64_t | size |
Number of currently enqueued frames. More... | |
uint64_t | max_size |
Max amount of frames before dropping new ones. 0 means unbounded. More... | |
pthread_t | thread |
pthread_mutex_t | mutex |
pthread_cond_t | cond |
So we can wake the mainloop up. More... | |
bool | running |
Should we keep running. More... | |
struct xrt_frame * | frame |
The current queued frame. More... | |
struct { | |
uint64_t current | |
uint64_t last | |
} | seq |
Data Fields inherited from xrt_frame_sink | |
void(* | push_frame )(struct xrt_frame_sink *sink, struct xrt_frame *frame) |
Push a frame into the sink. More... | |
Data Fields inherited from xrt_frame_node | |
struct xrt_frame_node * | next |
void(* | break_apart )(struct xrt_frame_node *node) |
Called first in when the graph is being destroyed, remove any references frames and other objects and stop threads. More... | |
void(* | destroy )(struct xrt_frame_node *node) |
Do the actual freeing of the objects. More... | |
An xrt_frame_sink queue, any frames received will be pushed to the downstream consumer on the queue thread.
Will drop frames should multiple frames be queued up.
struct u_sink_queue_elem* u_sink_queue::back |
Back of the queue (newest frame, back->next is always null)
Referenced by queue_pop(), queue_refclear(), and queue_try_refpush().
struct xrt_frame_sink u_sink_queue::base |
Base sink.
Referenced by xrt_frame_sink::u_sink_queue_create(), and xrt_frame_sink::u_sink_simple_queue_create().
pthread_cond_t u_sink_queue::cond |
So we can wake the mainloop up.
struct xrt_frame_sink * u_sink_queue::consumer |
The consumer of the frames that are queued.
struct xrt_frame* u_sink_queue::frame |
The current queued frame.
struct u_sink_queue_elem* u_sink_queue::front |
Front of the queue (oldest frame, first to be consumed)
Referenced by queue_pop(), queue_refclear(), and queue_try_refpush().
uint64_t u_sink_queue::max_size |
Max amount of frames before dropping new ones. 0 means unbounded.
Referenced by queue_is_full().
struct xrt_frame_node u_sink_queue::node |
For tracking on the frame context.
bool u_sink_queue::running |
Should we keep running.
uint64_t u_sink_queue::size |
Number of currently enqueued frames.
Referenced by queue_is_empty(), queue_is_full(), queue_pop(), queue_refclear(), and queue_try_refpush().