upipe/upipe_helper_bin_output.h header reference
Upipe helper functions for bin output More
Header inclusion
Members
Macro
Description
Upipe helper functions for bin output
Members detail
This macro is declared in upipe/upipe_helper_bin_output.h source file, line 92.
This macro declares seven functions dealing with specials pipes called "bins", which internally implement an inner pipeline to handle a given task. It also acts as a proxy to the last element of the inner pipeline.
You must add four members to your private upipe structure, for instance:
struct upipe *output;
struct uchain output_request_list;
You must also declare UPIPE_HELPER_UPIPE and UPIPE_HELPER_INNER prior to using this macro.
Supposing the name of your structure is upipe_foo, it declares:
int upipe_foo_store_bin_output(struct upipe *upipe, struct upipe *inner)
Called whenever you change the last inner pipe of this bin.
void upipe_foo_init_bin_output(struct upipe *upipe,
struct urefcount *refcount)Typically called in your upipe_foo_alloc() function.
int upipe_foo_control_bin_output(struct upipe *upipe,
enum upipe_command command, va_list args)Typically called from your upipe_foo_control() handler. It handles the set_output commands internally, and then acts as a proxy for other commands.
void upipe_foo_clean_bin_output(struct upipe *upipe)
Typically called from your upipe_foo_free() function.
Parameter list:
- STRUCTURE: name of your private upipe structure your private upipe structure
- OUTPUT: name of the struct upipe * field of your private upipe structure, pointing to the output of the bin
- REQUEST_LIST: name of the struct uchain field of your private upipe structure
This macro is declared in upipe/upipe_helper_bin_output.h source file, line 31.