Open-AVB AVTP Pipeline SDK
1.4
|
Common interface module public header. More...
Go to the source code of this file.
Data Structures | |
struct | openavb_intf_cb_t |
Interface callbacks structure. More... | |
Typedefs | |
typedef void(* | openavb_intf_cfg_cb_t )(media_q_t *pMediaQ, const char *name, const char *value) |
Configuration callback into the interface module. More... | |
typedef void(* | openavb_intf_gen_init_cb_t )(media_q_t *pMediaQ) |
General initialize callback regardless if a talker or listener. More... | |
typedef void(* | openavb_intf_avdecc_init_cb_t )(media_q_t *pMediaQ, U16 configIdx, U16 descriptorType, U16 descriptorIdx) |
AVDECC initialize callback for both a talker or listener. More... | |
typedef void(* | openavb_intf_tx_init_cb_t )(media_q_t *pMediaQ) |
Initialize transmit callback into the interface module. More... | |
typedef bool(* | openavb_intf_tx_cb_t )(media_q_t *pMediaQ) |
Transmit callback into the interface module. More... | |
typedef void(* | openavb_intf_rx_init_cb_t )(media_q_t *pMediaQ) |
Initialize the receive callback into the interface module. More... | |
typedef void(* | openavb_intf_rx_translate_cb_t )(media_q_t *pMediaQ, U8 *pPubData, U32 length) |
Translate RX data callback. More... | |
typedef bool(* | openavb_intf_rx_cb_t )(media_q_t *pMediaQ) |
Receive callback into the interface module. More... | |
typedef void(* | openavb_intf_end_cb_t )(media_q_t *pMediaQ) |
Callback when the stream is ending. More... | |
typedef void(* | openavb_intf_gen_end_cb_t )(media_q_t *pMediaQ) |
General shutdown callback into the interface module. More... | |
typedef unsigned int(* | openavb_intf_get_src_bitrate_t )(media_q_t *pMediaQ) |
Query the interface for source bitrate. More... | |
typedef bool(* | openavb_intf_initialize_fn_t )(media_q_t *pMediaQ, openavb_intf_cb_t *pIntfCB) |
Main initialization entry point into the interface module. More... | |
Common interface module public header.
typedef void(* openavb_intf_cfg_cb_t)(media_q_t *pMediaQ, const char *name, const char *value) |
Configuration callback into the interface module.
This callback function is called during the reading of the configuration file by the talker and listener for any named configuration item starting with "intf_nv". This is a convenient way to store new configuration name/value pairs that are needed in an interface module.
pMediaQ | A pointer to the media queue for this stream |
name | The item name from the configuration file |
value | The item value from the configuration file |
typedef void(* openavb_intf_gen_init_cb_t)(media_q_t *pMediaQ) |
General initialize callback regardless if a talker or listener.
This callback function is called when the openavbTLOpen() function is called for the EAVB SDK API.
pMediaQ | A pointer to the media queue for this stream |
typedef void(* openavb_intf_avdecc_init_cb_t)(media_q_t *pMediaQ, U16 configIdx, U16 descriptorType, U16 descriptorIdx) |
AVDECC initialize callback for both a talker or listener.
Entity model based configuration can be processed at this time. This callback is optional and only executed when AVDECC is used to connect streams.
pMediaQ | A pointer to the media queue for this stream |
configIdx | current configuration descriptor index for the Entity Model |
descriptorType | The descriptorType is expected to be of STREAM_INPUT for listeners and STREAM_OUTPUT for talkers. |
descriptorIdx | descriptor index in the Entity Model |
typedef void(* openavb_intf_tx_init_cb_t)(media_q_t *pMediaQ) |
Initialize transmit callback into the interface module.
This callback function is called anytime a stream reservation has completed successfully within a talker process. It does not get called when running within a listener process.
pMediaQ | A pointer to the media queue for this stream |
typedef bool(* openavb_intf_tx_cb_t)(media_q_t *pMediaQ) |
Transmit callback into the interface module.
This is the transmit callback function for the interface module. This function will typically be called thousands of times per second depending the SR class type (A or B). This frequency may also be changed by the mapping module and at times configurable by mapping modules for example with the map_nv_tx_rate configuration value. If pacing is done in the interface module by:
cfg->tx_blocking_in_intf = FALSE;
Then this callback will suspend task execution until there is media data available for the mapping module.
pMediaQ | A pointer to the media queue for this stream |
typedef void(* openavb_intf_rx_init_cb_t)(media_q_t *pMediaQ) |
Initialize the receive callback into the interface module.
This callback function is called anytime a stream reservation has completed successfully within a listener process. It does not get called when running within a talker process.
pMediaQ | A pointer to the media queue for this stream |
Translate RX data callback.
This callback that may be used by mapping modules to allow interfaces to translate packet data as it arrives and before it gets packed into the media queue Item. Mapping modules MUST expose a function pointer var in their public data and the interface module must set it for the CB to be used.
pMediaQ | A pointer to the media queue for this stream |
pPubDataQ | A pointer to the data |
length | Length of the data |
typedef bool(* openavb_intf_rx_cb_t)(media_q_t *pMediaQ) |
Receive callback into the interface module.
This callback function is called when AVB packet data is received or when tail data item within the media queue has reached the presentation time
pMediaQ | A pointer to the media queue for this stream |
typedef void(* openavb_intf_end_cb_t)(media_q_t *pMediaQ) |
Callback when the stream is ending.
This callback function is called when a stream is closing.
pMediaQ | A pointer to the media queue for this stream |
typedef void(* openavb_intf_gen_end_cb_t)(media_q_t *pMediaQ) |
General shutdown callback into the interface module.
This callback function is called when the openavbTLClose() function is called for the EAVB SDK API
pMediaQ | A pointer to the media queue for this stream |
typedef unsigned int(* openavb_intf_get_src_bitrate_t)(media_q_t *pMediaQ) |
Query the interface for source bitrate.
This callback is called to get the maximum bitrate of the source (in bits per second). For example for a mpeg2ts file interface this callback returns the maximum bitrate of the mpeg2ts file.
pMediaQ | A pointer to the media queue for this stream |
typedef bool(* openavb_intf_initialize_fn_t)(media_q_t *pMediaQ, openavb_intf_cb_t *pIntfCB) |
Main initialization entry point into the interface module.
This is the main entry point into the interface module. Every interface module must define this function. The talker process and listener process call this function directly while the configuration file it being read. The function address is discovered via the settings in the talker and listener configuration structure. For example:
osalCfg.pIntfInitFn = openavbIntfJ6Video;
Within this function the callbacks must all be set into the structure pointer parameter. Any interface module initialization can take place during this call such as setting default values into configuration settings. Private interface module should be allocated during this call. This can be used to hold configuration data as well as functional variable data.
pMediaQ | A pointer to the media queue for this stream |
pIntfCB | Pointer to the callback structure. All the members of this structure must be set during this function call |