ma_uint32flags;/* The flags that were passed used to initialize the buffer. */
ma_uint32executionCounter;/* For allocating execution orders for jobs. */
ma_uint32executionPointer;/* For managing the order of execution for asynchronous jobs relating to this object. Incremented as jobs complete processing. */
ma_uint64cursorInPCMFrames;/* Only updated by the public API. Never written nor read from the job thread. */
ma_uint64seekTargetInPCMFrames;/* Only updated by the public API. Never written nor read from the job thread. */
ma_bool32seekToCursorOnNextRead;/* On the next read we need to seek to the frame cursor. */
MA_ATOMICma_resultresult;/* Keeps track of a result of decoding. Set to MA_BUSY while the buffer is still loading. Set to MA_SUCCESS when loading is finished successfully. Otherwise set to some other code. */
MA_ATOMICma_bool32isLooping;/* Can be read and written by different threads at the same time. Must be used atomically. */