Video capture may require adjustments to accommodate how different hardware platforms handle tasks such as
buffer allocation.
Different hardware platforms handle tasks differently. To accommodate these
differences, you may need to make adjustments to how your system handles video capture.
For example, we found that on some boards an unstable capture link could cause
apparently random system crashes:
- The capture buffers are allocated by the WFD driver, which usually allocates buffers with the size
specified by the application.
- Some synchronization data could be lost due to the unstable link, which causes the hardware to write
data beyond the buffer boundary, with suprising results.
The only restrictions our application could impose on the hardware were maximum frame height and maximum frame
width, selected from a limited set of values. To solve the problem caused by the unstable capture link, we
changed the WFD driver to allocate the capture buffer of a size equal to the maximum frame height times the
maximum frame width (
CAPTURE_PROPERTY_DST_HEIGHT *
CAPTURE_PROPERTY_DST_WIDTH).
For more information about buffer properties, see Destination buffer properties.