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  

#define UPIPE_HELPER_BIN_INPUT(STRUCTURE, FIRST_INNER, REQUEST_LIST)  

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

#define _UPIPE_UPIPE_HELPER_BIN_INPUT_H_  

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

Valid XHTML 1.0 StrictGenerated by cmassiot on Fri Feb 2 23:57:19 2018 using MkDoc