upipe/upipe_helper_bin_input.h header reference
Upipe helper functions for bin input More
Header inclusion
Members
Macro
Description
Upipe helper functions for bin input
Members detail
This macro is declared in upipe/upipe_helper_bin_input.h source file, line 121.
This macro declares nine functions dealing with special pipes called "bins", which internally implement an inner pipeline to handle a given task. This helper deals with the input of the inner pipeline and incoming requests.
You must add a member to your private upipe structure, for instance:
struct uchain input_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:
void upipe_foo_init_bin_input(struct upipe *upipe)
Typically called in your upipe_foo_alloc() function.
void upipe_foo_store_bin_input(struct upipe *upipe, struct upipe *inner)
Called whenever you change the first inner pipe of this bin.
int upipe_foo_register_bin_request(struct upipe *upipe,
struct urequest *urequest)Registers a request on the bin. The request will be replayed if the first inner changes. If there is no first inner, the request is sent via a probe.
int upipe_foo_unregister_bin_request(struct upipe *upipe,
struct urequest *urequest)Unregisters a request on the bin.
int upipe_foo_provide_bin_proxy(struct urequest *urequest, va_list args)
Internal function used to receive answers to proxy requests.
int upipe_foo_alloc_bin_proxy(struct upipe *upipe,
struct urequest *urequest)Allocates a proxy request to forward a request downstream.
int upipe_foo_free_bin_proxy(struct upipe *upipe,
struct urequest *urequest)Frees a proxy request.
int upipe_foo_control_bin_input(struct upipe *upipe,
enum upipe_command command, va_list args)Typically called from your upipe_foo_control() handler. It handles the registering/unregistering of requests.
void upipe_foo_clean_bin_input(struct upipe *upipe)
Typically called from your upipe_foo_free() function.
Parameter list:
- STRUCTURE: name of your private upipe structure
- FIRST_INNER: name of the struct upipe * field of your private upipe structure, pointing to the first inner pipe 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_input.h source file, line 31.