upipe/urequest.h header reference

Upipe structure used to provide an upstream pipe with a structure More

Header inclusion [link] 

Members [link] 

Types [link] 

Functions [link] 

Macro [link] 

Description [link] 

Upipe structure used to provide an upstream pipe with a structure

Members detail [link] 

#define _UPIPE_UREQUEST_H_ [link] 

This macro is declared in upipe/urequest.h source file, line 31.

[link] 

This struct is declared in upipe/ubuf_mem.h source file, line 42.

FieldDescription
struct urefcount * refcount;pointer to refcount management structure
uint32_t signature;signature of the API (block, pic, sound, other)
struct ubuf *(*ubuf_alloc)(struct ubuf_mgr *, uint32_t signatureva_list ) ;function to allocate a new ubuf, with optional arguments depending on the ubuf manager
int (*ubuf_control)(struct ubuf *, int va_list ) ;control function for standard or local commands
void (*ubuf_free)(struct ubuf *) ;function to free a ubuf
int (*ubuf_mgr_control)(struct ubuf_mgr *, int va_list ) ;manager control function for standard or local commands

[link] 

This struct is declared in upipe/uprobe_uclock.h source file, line 42.

FieldDescription
struct urefcount * refcount;pointer to refcount management structure
uint64_t (*uclock_now)(struct uclock *) ;function returning the current system time
uint64_t (*uclock_to_real)(struct uclock *, uint64_t ) ;function converting a system time to Epoch-based real time
uint64_t (*uclock_from_real)(struct uclock *, uint64_t ) ;function converting Epoch-based real time to system time

[link] 

This struct is declared in upipe/urequest.h source file, line 95.

FieldDescription
struct uchain uchain;structure for double-linked lists - for use by the upstream pipe only
void * opaque;opaque - for use by the upstream pipe only
bool registered;true if the urequest was already registered
int type;request type
struct uref * uref;optional uref argument
urequest_func urequest_provide;function to provide a structure
urequest_free_func urequest_free;function to free the request

struct urequest * urequest_alloc_proxy(struct urequest *urequest) [link] 

This function is declared in upipe/urequest.h source file, line 380.

This function duplicates and configure a proxy request.

Parameter list:

  • urequest: request to proxy

The return value is an allocated request

void urequest_clean(struct urequest *urequest) [link] 

This function is declared in upipe/urequest.h source file, line 219.

This function cleans up a urequest structure.

Parameter list:

  • urequest: pointer to urequest

struct urequest * urequest_find_proxy(struct urequest *urequest, struct uchain *requests) [link] 

This function is declared in upipe/urequest.h source file, line 418.

This function finds a proxy urequest in a list from the original request.

Parameter list:

  • urequest: original request
  • requests: list of requests to look

The return value is the proxy request or NULL

void urequest_free(struct urequest *urequest) [link] 

This function is declared in upipe/urequest.h source file, line 231.

This function frees a urequest structure. Note that you must clean it first, if it has been initialized.

Parameter list:

  • urequest: pointer to urequest

typedef void (*urequest_free_func)(struct urequest *) [link] 

This typedef is declared in upipe/urequest.h source file, line 91.

This typedef frees the request.

void urequest_free_proxy(struct urequest *urequest) [link] 

This function is declared in upipe/urequest.h source file, line 403.

This function frees a proxy request.

Parameter list:

  • urequest: proxy request to free

typedef int (*urequest_func)(struct urequest *, va_list ) [link] 

This typedef is declared in upipe/urequest.h source file, line 89.

This typedef is the call-back type for urequest structures.

#define urequest_get_opaque(urequest, type) [link] 

This macro is declared in upipe/urequest.h source file, line 242.

This macro gets the opaque member of a request.

Parameter list:

  • urequest: pointer to urequest
  • type: type to cast to

The return value is opaque

void urequest_init_flow_format(struct urequest *urequest, struct uref *flow_format, urequest_func urequest_provide, urequest_free_func urequest_free) [link] 

This function is declared in upipe/urequest.h source file, line 162.

This function initializes a urequest structure asking for a flow format. The downstream pipes will provide a modified flow format that will be compatible.

Parameter list:

  • urequest: pointer to urequest
  • flow_format: proposed flow format
  • urequest_provide: function used to provide a structure
  • urequest_free: function used to free the request

void urequest_init_sink_latency(struct urequest *urequest, urequest_func urequest_provide, urequest_free_func urequest_free) [link] 

This function is declared in upipe/urequest.h source file, line 209.

This function initializes a urequest structure asking for the sink latency. The downstream pipes will provide a modified flow format that will be compatible.

Parameter list:

  • urequest: pointer to urequest
  • urequest_provide: function used to provide a structure
  • urequest_free: function used to free the request

void urequest_init_ubuf_mgr(struct urequest *urequest, struct uref *flow_format, urequest_func urequest_provide, urequest_free_func urequest_free) [link] 

This function is declared in upipe/urequest.h source file, line 179.

This function initializes a urequest structure asking for a ubuf manager. The downstream pipes may amend the request to change alignment or padding.

Parameter list:

  • urequest: pointer to urequest
  • flow_format: requested flow format
  • urequest_provide: function used to provide a structure
  • urequest_free: function used to free the request

void urequest_init_uclock(struct urequest *urequest, urequest_func urequest_provide, urequest_free_func urequest_free) [link] 

This function is declared in upipe/urequest.h source file, line 194.

This function initializes a urequest structure asking for a uclock.

Parameter list:

  • urequest: pointer to urequest
  • flow_format: requested flow format
  • urequest_provide: function used to provide a structure
  • urequest_free: function used to free the request

void urequest_init_uref_mgr(struct urequest *urequest, urequest_func urequest_provide, urequest_free_func urequest_free) [link] 

This function is declared in upipe/urequest.h source file, line 145.

This function initializes a urequest structure asking for a uref manager.

Parameter list:

  • urequest: pointer to urequest
  • urequest_provide: function used to provide a structure
  • urequest_free: function used to free the request

int urequest_provide_flow_format(struct urequest *urequest, struct uref *flow_format) [link] 

This function is declared in upipe/urequest.h source file, line 307.

This function provides a urequest with a new flow format. All arguments belong to the callee.

Parameter list:

  • urequest: pointer to urequest
  • flow: format suggested flow format

The return value is an error code

int urequest_provide_proxy(struct urequest *urequest, va_list args) [link] 

This function is declared in upipe/urequest.h source file, line 368.

This function handles the result of a proxy request.

Parameter list:

  • urequest: request provided
  • args: optional arguments

The return value is an error code

int urequest_provide_sink_latency(struct urequest *urequest, uint64_t latency) [link] 

This function is declared in upipe/urequest.h source file, line 354.

This function provides a urequest with a new sink latency. All arguments belong to the callee.

Parameter list:

  • urequest: pointer to urequest
  • latency: sink latency

The return value is an error code

int urequest_provide_ubuf_mgr(struct urequest *urequest, struct ubuf_mgr *ubuf_mgr, struct uref *flow_format) [link] 

This function is declared in upipe/urequest.h source file, line 324.

This function provides a urequest with a new ubuf manager. All arguments belong to the callee.

Parameter list:

  • urequest: pointer to urequest
  • ubuf_mgr: pointer to ubuf manager
  • flow: format allocated flow format

The return value is an error code

int urequest_provide_uclock(struct urequest *urequest, struct uclock *uclock) [link] 

This function is declared in upipe/urequest.h source file, line 339.

This function provides a urequest with a new uclock. All arguments belong to the callee.

Parameter list:

  • urequest: pointer to urequest
  • uclock: pointer to uclock

The return value is an error code

int urequest_provide_uref_mgr(struct urequest *urequest, struct uref_mgr *uref_mgr) [link] 

This function is declared in upipe/urequest.h source file, line 292.

This function provides a urequest with a new uref manager. All arguments belong to the callee.

Parameter list:

  • urequest: pointer to urequest
  • uref_mgr: pointer to uref manager

The return value is an error code

void urequest_set_opaque(struct urequest *urequest, void *opaque) [link] 

This function is declared in upipe/urequest.h source file, line 251.

This function sets the opaque member of a request.

Parameter list:

  • urequest: pointer to urequest
  • opaque: opaque

enum urequest_type [link] 

This enum is declared in upipe/urequest.h source file, line 53.

This enum defines standard requests which upipe modules may need.

IdentifierValueDescription
UREQUEST_UREF_MGR0a uref manager is requested (struct uref_mgr *)
UREQUEST_FLOW_FORMAT1a flow format is requested (struct uref *)
UREQUEST_UBUF_MGR2a ubuf manager is requested (struct ubuf_mgr *, struct uref *)
UREQUEST_UCLOCK3a uclock is requested (struct uclock *)
UREQUEST_SINK_LATENCY4the latency of the sink is requested (uint64_t)
UREQUEST_LOCAL0x8000non-standard requests implemented by a module type can start from there (first arg = signature)

const char * urequest_type_str(int type) [link] 

This function is declared in upipe/urequest.h source file, line 76.

This function converts an urequest type into a string.

Parameter list:

  • type: urequest type id to convert

The return value is a string or NULL if unknown

struct urequest * urequest_from_uchain(struct uchain *sub) [link] 

This function is for internal use only.

This function is declared in UBASE_FROM_TO function like macro expansion, line 19 in upipe/urequest.h source file, line 113.

This function returns a pointer to uchain.

Parameter list:

  • sub: pointer to struct uchain

The return value is pointer to struct urequest

void urequest_init(struct urequest *urequest, int type, struct uref *uref, urequest_func urequest_provide, urequest_free_func urequest_free) [link] 

This function is for internal use only.

This function is declared in upipe/urequest.h source file, line 126.

This function initializes a urequest structure.

Parameter list:

  • urequest: pointer to urequest
  • type: request type
  • urequest_provide: function used to provide a structure
  • urequest_free: function used to free the request

int urequest_provide(struct urequest *urequest, ...) [link] 

This function is for internal use only.

This function is declared in upipe/urequest.h source file, line 275.

This function provides a urequest with optional arguments. All arguments belong to the callee.

Parameter list:

  • urequest: pointer to urequest, followed with optional arguments

The return value is an error code

int urequest_provide_va(struct urequest *urequest, va_list args) [link] 

This function is for internal use only.

This function is declared in upipe/urequest.h source file, line 263.

This function provides a urequest with optional arguments. All arguments belong to the callee.

Parameter list:

  • urequest: pointer to urequest
  • args: list of arguments

The return value is an error code

struct uchain * urequest_to_uchain(struct urequest *s) [link] 

This function is for internal use only.

This function is declared in UBASE_FROM_TO function like macro expansion, line 9 in upipe/urequest.h source file, line 113.

This function returns a pointer to uchain.

Parameter list:

  • urequest: pointer to struct urequest

The return value is pointer to struct uchain

Valid XHTML 1.0 StrictGenerated by cmassiot on Sun Dec 14 18:31:17 2025 using MkDoc