67 #define LE_STREAM_LOCATION_ID_INTERNAL 0
73 #if LE_STREAMING_ENABLED == 1
88 typedef enum leStreamState
90 LE_STREAM_CLOSED = 1 << 0,
91 LE_STREAM_READY = 1 << 1,
92 LE_STREAM_WAITING = 1 << 2,
93 LE_STREAM_DATAREADY = 1 << 3,
94 LE_STREAM_ERROR = 1 << 4,
99 typedef void (*leStream_DataReadyCallback)(
struct leStream* strm);
144 typedef struct leStream
148 enum leStreamState state;
156 leStream_DataReadyCallback dataReadyCB;
161 uint32_t physicalSize;
162 uint32_t baseAddress;
163 uint32_t logicalSize;
167 enum leStreamFlag flags;
205 void leStream_Init(leStream* stream,
231 leResult leStream_Open(leStream* stream);
252 leBool leStream_IsOpen(leStream* stream);
283 leResult leStream_Read(leStream* stream,
287 leStream_DataReadyCallback cb);
308 leBool leStream_IsBlocking(leStream* stream);
331 leBool leStream_IsDataReady(leStream* stream);
352 leResult leStream_DataReady(leStream* stream);
375 leResult leStream_Close(leStream* stream);
398 typedef struct leStreamManager
400 leResult (*exec)(
struct leStreamManager* mgr);
401 leBool (*isDone)(
struct leStreamManager* mgr);
402 void (*abort)(
struct leStreamManager* mgr);
403 void (*cleanup)(
struct leStreamManager* mgr);
405 void (*onDone)(
struct leStreamManager* mgr);
423 leResult leApplication_MediaOpenRequest(leStream* stream);
448 leResult leApplication_MediaReadRequest(leStream* stream,
463 void leApplication_MediaCloseRequest(leStream* stream);