Producer

A producer block provides the following interactions with the application producer component:

  • During setup phase:
    • Synchronization:
      • Accepts producer synchronization requirements.
      • Reports consumer synchronization requirements.
      • Accepts producer allocated sync objects.
      • Reports consumer allocated sync objects.
    • Buffers
      • Accepts list of element attributes producer can generate.
      • Reports consolidated packet attribute list.
      • Reports all allocated packets.
  • During streaming phase:
    • Signals availability of packets for reuse.
    • Retrieves next packet to reuse with fence to wait for before writing.
    • Accepts filled packet with fence to wait for before consumer should read.
  • In non-safety builds, during streaming phase:
    • Accepts limited changes to requested element attributes (e.g., to modify the image size).
    • Reports updated packet attributes.
    • Reports removal of buffers allocated for old attributes and addition of new ones.
Note:

Reallocation of buffers in non-safety builds are not supported in this release.