Acquiring Packets
Just as the producer block receives a NvSciStreamEventType_PacketReady event
      when a packet is available for reuse, the consumer block receives one when a packet containing
      new data arrives. If multiple packets are available, the consumer receives separate events for
      each of them.
After a packet becomes available, a consumer application may call
        NvSciStreamConsumerPacketAcquire() to obtain it. The cookie field is filled
      in with the cookie that the consumer assigned to the packet. With the packet handle, the
      consumer application calls NvSciStreamBlockPacketFenceGet() to obtain the
      prefences for the packet elements. The prefence field points to the location that will be
      filled with the fence value indicating when the producer indexed by
        queryBlockIndex (always 0 for one producer) is no longer
      using the data in the packet element buffer.
Consumer packets are always received in the order that the producer sends them, but depending on the stream settings (such as if a mailbox queue is used) some packets may be skipped. The consumer may acquire and hold multiple packets at once.
NvSciError
NvSciStreamConsumerPacketAcquire(
    NvSciStreamBlock const   consumer,
    NvSciStreamCookie *const cookie,
    NvSciSyncFence *const    prefences
)