upipe/upipe_helper_ubuf_mgr.h header reference

Upipe helper functions for ubuf manager More

Header inclusion  

Members  

Types  

Macro  

Description  

Upipe helper functions for ubuf manager

Members detail  

#define UPIPE_HELPER_UBUF_MGR(STRUCTURE, UBUF_MGR, FLOW_FORMAT, REQUEST, CHECK, REGISTER, UNREGISTER)  

This macro is declared in upipe/upipe_helper_ubuf_mgr.h source file, line 110.

This macro declares five functions dealing with the ubuf manager used on the output of a pipe.

You must add three members to your private upipe structure, for instance:

struct ubuf_mgr *ubuf_mgr;
struct uref *flow_format;
struct urequest ubuf_mgr_request;

You must also declare UPIPE_HELPER_UPIPE prior to using this macro, and provide two functions which will be called 1/ when the ubuf manager is provided, 2/ and 3/ when a request needs to be registered/unregistered.

Supposing the name of your structure is upipe_foo, it declares:

  • void upipe_foo_init_ubuf_mgr(struct upipe *upipe)

    Typically called in your upipe_foo_alloc() function.

  • int upipe_foo_provide_ubuf_mgr(struct upipe *upipe, va_list args)

    Internal function called when the request is answered.

  • int upipe_foo_require_ubuf_mgr(struct upipe *upipe,
    struct uref *flow_format)

    Initializes and registers the request to get a ubuf manager. The flow format belongs to the callee and will be eventually freed.

  • bool upipe_foo_demand_ubuf_mgr(struct upipe *upipe,
    struct uref *flow_format)

    Initializes and registers the request to get a ubuf manager, and send it via a probe if no answer has been received synchronously. Returns false if no ubuf_mgr was received.

  • void upipe_foo_clean_ubuf_mgr(struct upipe *upipe)

    Typically called from your upipe_foo_free() function.

Parameter list:

  • STRUCTURE: name of your private upipe structure
  • UBUF_MGR: name of the struct ubuf_mgr * field of your private upipe structure
  • FLOW_FORMAT: name of the struct uref * field of your private upipe structure
  • REQUEST: name of the struct urequest field of your private upipe structure
  • CHECK: function called after a uref manager has been received
  • REGISTER: function called to register a request
  • UNREGISTER: function called to unregister a request

#define _UPIPE_UPIPE_HELPER_UBUF_MGR_H_  

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

typedef int (*upipe_helper_ubuf_mgr_check)(struct upipe *, struct uref *)   

This typedef is declared in upipe/upipe_helper_ubuf_mgr.h source file, line 47.

This typedef defines a function that will be called after a ubuf_mgr has been received. The second argument is the amended flow format (belongs to the callee).

typedef int (*upipe_helper_ubuf_mgr_register)(struct upipe *, struct urequest *)   

This typedef is declared in upipe/upipe_helper_ubuf_mgr.h source file, line 51.

This typedef defines a function that will be called to register or unregister a request.

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