PipeWire 1.5.0
Loading...
Searching...
No Matches
timer-queue.h
Go to the documentation of this file.
1/* PipeWire */
2/* SPDX-FileCopyrightText: Copyright © 2025 Wim Taymans */
3/* SPDX-License-Identifier: MIT */
4
5#ifndef PIPEWIRE_TIMER_QUEUE_H
6#define PIPEWIRE_TIMER_QUEUE_H
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
20struct pw_timer_queue;
21
22#include <pipewire/loop.h>
23
24typedef void (*pw_timer_callback) (void *data);
25
26struct pw_timer {
27 struct spa_list link;
28 struct pw_timer_queue *queue;
29 struct timespec timeout;
31 void *data;
32 uint32_t padding[16];
33};
35struct pw_timer_queue *pw_timer_queue_new(struct pw_loop *loop);
36void pw_timer_queue_destroy(struct pw_timer_queue *queue);
38int pw_timer_queue_add(struct pw_timer_queue *queue, struct pw_timer *timer,
39 struct timespec *abs_time, int64_t timeout_ns,
40 pw_timer_callback callback, void *data);
41int pw_timer_queue_cancel(struct pw_timer *timer);
42
47#ifdef __cplusplus
48}
49#endif
50
51#endif /* PIPEWIRE_TIMER_QUEUE_H */
void pw_timer_queue_destroy(struct pw_timer_queue *queue)
Definition timer-queue.c:101
int pw_timer_queue_add(struct pw_timer_queue *queue, struct pw_timer *timer, struct timespec *abs_time, int64_t timeout_ns, pw_timer_callback callback, void *data)
Definition timer-queue.c:136
struct pw_timer_queue * pw_timer_queue_new(struct pw_loop *loop)
Definition timer-queue.c:74
void(* pw_timer_callback)(void *data)
Definition timer-queue.h:29
int pw_timer_queue_cancel(struct pw_timer *timer)
Definition timer-queue.c:183
pipewire/loop.h
Definition loop.h:33
Definition timer-queue.h:31
void * data
Definition timer-queue.h:36
pw_timer_callback callback
Definition timer-queue.h:35
struct spa_list link
Definition timer-queue.h:32
struct timespec timeout
Definition timer-queue.h:34
uint32_t padding[16]
Definition timer-queue.h:37
struct pw_timer_queue * queue
Definition timer-queue.h:33
Definition list.h:39