MX Foundation 4
Transmission and Reception Buffers

All transmission and reception operations are performed from static internal buffers allocated for a channel, module or queue. Many of these buffers need to be allocated by the application using one of the provided functions. In those cases, it is the user's responsibility to determine the size of the buffer needed to store the incoming or outgoing data.

The data path flow for a transmission is as follows:


"Application Records" -> "Buffers" -> FIFO -> Port`

or "Scheduler Records" -> "Buffers" -> FIFO -> Port`

and reception


"Application Records" <- "Buffers" <- FIFO <- Port`

Buffer Allocation

The following functions are used to allocate buffers:

A resource handle HMXF_BUFFER is returned when a buffer is allocated.

All allocated buffers can be freed with the mxfDeviceBuffersFree() function or individually by the corresponding free function. All buffers must be stopped and empty for the function to succeed. The function is normally called at the end of the program just before unloading MX Foundation with the mxfSystemTerminate() function and terminating the application.

Updated 10/23/2023