PipeWire 1.6.8

Loading...
Searching...
No Matches
Work Queue
Implementation API

Queued processing of work items. More...

## Files
file | work-queue.h
| pipewire/work-queue.h

## Data Structures
struct | pw_work_queue

## Typedefs
typedef void(* | pw_work_func_t) (void *obj, void *data, int res, uint32_t id)

## Functions
struct pw_work_queue * | pw_work_queue_new (struct pw_loop *loop)
| Create a new Work Queue.
void | pw_work_queue_destroy (struct pw_work_queue *queue)
| Destroy a work queue.
uint32_t | pw_work_queue_add (struct pw_work_queue *queue, void *obj, int res, pw_work_func_t func, void *data)
| Add an item to the work queue.
int | pw_work_queue_cancel (struct pw_work_queue *queue, void *obj, uint32_t id)
| Cancel a work item.
int | pw_work_queue_complete (struct pw_work_queue *queue, void *obj, uint32_t seq, int res)
| Complete a work item.

## Detailed Description

Queued processing of work items.

## Typedef Documentation

## ◆ pw_work_func_t

typedef void(* pw_work_func_t) (void *obj, void *data, int res, uint32_t id)

## Function Documentation

## ◆ pw_work_queue_new()

struct pw_work_queue * pw_work_queue_new | ( | struct pw_loop * | loop | ) |

Create a new Work Queue.

Parameters

  loop | the loop to use

Returns
  a newly allocated work queue

## ◆ pw_work_queue_destroy()

void pw_work_queue_destroy | ( | struct pw_work_queue * | queue | ) |

Destroy a work queue.

Parameters

  queue | the work queue to destroy

## ◆ pw_work_queue_add()

uint32_t pw_work_queue_add | ( | struct pw_work_queue * | queue,
|  | void * | obj,
|  | int | res,
|  | pw_work_func_t | func,
|  | void * | data )

Add an item to the work queue.

Parameters

  queue | the work queue
  obj | the object owning the work item
  res | a result code
  func | a work function
  data | passed to func

## ◆ pw_work_queue_cancel()

int pw_work_queue_cancel | ( | struct pw_work_queue * | queue,
|  | void * | obj,
|  | uint32_t | id )

Cancel a work item.

Parameters

  queue | the work queue
  obj | the owner object
  id | the work id to cancel

## ◆ pw_work_queue_complete()

int pw_work_queue_complete | ( | struct pw_work_queue * | queue,
|  | void * | obj,
|  | uint32_t | seq,
|  | int | res )

Complete a work item.

Parameters

  queue | the work queue
  obj | the owner object
  seq | the sequence number that completed
  res | 0 if the item was found, < 0 on error