upipe-modules/upipe_queue_sink.h header reference

Upipe sink module for queues More

Header inclusion [link] 

Members [link] 

Functions [link] 

Description [link] 

Note that the allocator requires an additional parameter:

qsrc
pointer to queue source pipe

This pipe also handles the upipe_set_output and upipe_get_output calls, though the output is only directed towards the qsrc. The purpose of this pseudo-output is to be automatically released when the qsink dies. Technically the pseudo-output doesn't get any input.

The typical use case is when using upipe_xfer_alloc. The qsrc has to be the original structure allocated by upipe_qsrc_alloc, but the pseudo-output can be the upipe_xfer pipe that acts as a proxy to the qsrc in a different thread. That way the upipe_xfer is released on termination, and releases in turn the qsrc in the appropriate upump_mgr (thread) context.

Members detail [link] 

#define UPIPE_QSINK_SIGNATURE [link] 

This macro is declared in upipe-modules/upipe_queue_sink.h source file, line 55.

#define _UPIPE_MODULES_UPIPE_QUEUE_SINK_H_ [link] 

This macro is declared in upipe-modules/upipe_queue_sink.h source file, line 48.

struct upipe * upipe_qsink_alloc(struct upipe_mgr *mgr, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 15 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates and initializes a pipe from the given manager.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • mgr: management structure for this pipe type
  • uprobe: structure used to raise events (belongs to the callee), followed by arguments for the allocator ()

The return value is pointer to allocated pipe, or NULL in case of failure

struct upipe * upipe_qsink_alloc_input(struct upipe *upipe, struct upipe_mgr *upipe_mgr, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 113 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a new pipe from the given manager, and sets it as the input of the given pipe.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the pipe
  • upipe_mgr: manager for the input pipe
  • uprobe: structure used to raise events (belongs to the callee), followed by arguments for the allocator ()

The return value is pointer to allocated input pipe (which must be stored or released), or NULL in case of failure

struct upipe * upipe_qsink_alloc_input_sub(struct upipe *upipe, struct upipe *super_pipe, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 282 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a subpipe from the given super-pipe, and sets it as the input of the given pipe.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the pipe
  • super_pipe: description structure of the super-pipe
  • uprobe: structure used to raise events (belongs to the callee), followed by arguments for the allocator ()

The return value is pointer to allocated input pipe (which must be stored or released), or NULL in case of failure

struct upipe * upipe_qsink_alloc_output(struct upipe *upipe, struct upipe_mgr *upipe_mgr, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 37 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a new pipe from the given manager, and sets it as the output of the given pipe.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the existing pipe
  • upipe_mgr: manager for the output pipe
  • uprobe: structure used to raise events (belongs to the callee), followed by arguments for the allocator ()

The return value is pointer to allocated output pipe (which must be stored or released), or NULL in case of failure

struct upipe * upipe_qsink_alloc_output_sub(struct upipe *upipe, struct upipe *super_pipe, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 208 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a subpipe from the given super-pipe, and sets it as the output of the given pipe.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the pipe
  • super_pipe: description structure of the super-pipe
  • uprobe: structure used to raise events (belongs to the callee) followed by arguments for the allocator ()

The return value is pointer to allocated output subpipe (which must be stored or released), or NULL in case of failure

struct upipe * upipe_qsink_alloc_sub(struct upipe *super_pipe, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 163 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates and initializes a subpipe from the given super-pipe.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • super_upipe: description structure of the super-pipe
  • uprobe: structure used to raise events (belongs to the callee) followed by arguments for the allocator ()

The return value is pointer to allocated subpipe, or NULL in case of failure

struct upipe * upipe_qsink_chain_input(struct upipe *upipe, struct upipe_mgr *upipe_mgr, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 142 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a new pipe from the given manager, sets it as the input of the given pipe, and releases it.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the pipe (belongs to the callee)
  • upipe_mgr: manager for the input pipe
  • uprobe: structure used to raise events (belongs to the callee), followed by arguments for the allocator ()

The return value is pointer to allocated input pipe (which must be stored or released), or NULL in case of failure

struct upipe * upipe_qsink_chain_input_sub(struct upipe *upipe, struct upipe *super_pipe, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 307 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a new pipe from the given manager, sets it as the input of the given pipe, and releases it.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the pipe (belongs to the callee)
  • super_pipe: description structure of the super-pipe
  • uprobe: structure used to raise events (belongs to the callee), followed by arguments for the allocator ()

The return value is pointer to allocated input pipe (which must be stored or released), or NULL in case of failure

struct upipe * upipe_qsink_chain_output(struct upipe *upipe, struct upipe_mgr *upipe_mgr, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 64 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a new pipe from the given manager, sets it as the output of the given pipe, and releases the latter.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the pipe (belongs to the callee)
  • upipe_mgr: manager for the output pipe
  • uprobe: structure used to raise events (belongs to the callee), followed by arguments for the allocator ()

The return value is pointer to allocated output pipe (which must be stored or released), or NULL in case of failure

struct upipe * upipe_qsink_chain_output_sub(struct upipe *upipe, struct upipe *super_pipe, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 233 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a subpipe from the given super-pipe, sets it as the output of the given pipe, and releases the latter.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the pipe
  • super_pipe: description structure of the super-pipe
  • uprobe: structure used to raise events (belongs to the callee) followed by arguments for the allocator ()

The return value is pointer to allocated output subpipe (which must be stored or released), or NULL in case of failure

struct upipe * upipe_qsink_chain_sub(struct upipe *super_pipe, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 185 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates and initializes a subpipe from the given super-pipe, and releases the super-pipe.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • super_upipe: description structure of the super-pipe
  • uprobe: structure used to raise events (belongs to the callee) followed by arguments for the allocator ()

The return value is pointer to allocated subpipe, or NULL in case of failure

struct upipe_mgr * upipe_qsink_mgr_alloc(void ) [link] 

This function is declared in upipe-modules/upipe_queue_sink.h source file, line 62.

This function returns the management structure for all queue sinks.

The return value is pointer to manager

int upipe_qsink_spawn_output(struct upipe *upipe, struct upipe_mgr *upipe_mgr, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 88 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a new pipe from the given manager, sets it as the output of the given pipe, and releases it.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the pipe (belongs to the callee)
  • upipe_mgr: manager for the output pipe
  • uprobe: structure used to raise events (belongs to the callee), followed by arguments for the allocator ()

The return value is an error code

int upipe_qsink_spawn_output_sub(struct upipe *upipe, struct upipe *super_pipe, struct uprobe *uprobe, struct upipe *qsrc) [link] 

This function is declared in UPIPE_HELPER_ALLOC function like macro expansion, line 257 in upipe-modules/upipe_queue_sink.h source file, line 68.

This function allocates a subpipe from the given super-pipe, sets it as the output of the given pipe, and releases it.

Please note that this function does not _use() the probe, so if you want to reuse an existing probe, you have to use it first.

Parameter list:

  • upipe: description structure of the pipe
  • super_pipe: description structure of the super-pipe
  • uprobe: structure used to raise events (belongs to the callee) followed by arguments for the allocator ()

The return value is an error code

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