ma_resource_manager*pResourceManager;/* Can be null in which case a resource manager will be created for you. */
ma_context*pContext;
ma_device*pDevice;/* If set, the caller is responsible for calling ma_engine_data_callback() in the device's data callback. */
ma_log*pLog;/* When set to NULL, will use the context's log. */
ma_uint32listenerCount;/* Must be between 1 and MA_ENGINE_MAX_LISTENERS. */
ma_uint32channels;/* The number of channels to use when mixing and spatializing. When set to 0, will use the native channel count of the device. */
ma_uint32sampleRate;/* The sample rate. When set to 0 will use the native channel count of the device. */
...
...
@@ -1893,6 +1894,7 @@ struct ma_engine
ma_node_graphnodeGraph;/* An engine is a node graph. It should be able to be plugged into any ma_node_graph API (with a cast) which means this must be the first member of this struct. */
ma_resource_manager*pResourceManager;
ma_device*pDevice;/* Optionally set via the config, otherwise allocated by the engine in ma_engine_init(). */