Lines Matching full:eashandle
158 static EAS_RESULT JET_PrepareSegment (EAS_DATA_HANDLE easHandle, EAS_I32 queueNum)
165 p = &easHandle->jetHandle->segQueue[queueNum];
166 result = EAS_Prepare(easHandle, p->streamHandle);
171 result = EAS_Pause(easHandle, p->streamHandle);
177 result = EAS_IntSetStrmParam(easHandle, p->streamHandle, PARSER_DATA_JET_CB, queueNum);
184 result = EAS_IntSetStrmParam(easHandle, p->streamHandle,
185 PARSER_DATA_DLS_COLLECTION, (EAS_I32) easHandle->jetHandle->libHandles[p->libNum]);
193 result = EAS_SetTransposition(easHandle, p->streamHandle, p->transpose);
207 static EAS_RESULT JET_StartPlayback (EAS_DATA_HANDLE easHandle, EAS_I32 queueNum)
215 pSeg = &easHandle->jetHandle->segQueue[queueNum];
218 result = EAS_Resume(easHandle, pSeg->streamHandle);
219 easHandle->jetHandle->segQueue[queueNum].state = JET_STATE_PLAYING;
223 result = EAS_IntSetStrmParam(easHandle, pSeg->streamHandle, PARSER_DATA_MUTE_FLAGS, (EAS_I32) pSeg->muteFlags);
234 EAS_INLINE EAS_INT JET_CloseSegment (EAS_DATA_HANDLE easHandle, EAS_INT queueNum)
241 result = EAS_CloseFile(easHandle, easHandle->jetHandle->segQueue[queueNum].streamHandle);
245 easHandle->jetHandle->segQueue[queueNum].streamHandle = NULL;
246 easHandle->jetHandle->segQueue[queueNum].state = JET_STATE_CLOSED;
247 easHandle->jetHandle->numQueuedSegments--;
257 static EAS_RESULT JetParseInfoChunk (EAS_DATA_HANDLE easHandle, EAS_I32 pos, EAS_I32 chunkSize)
264 result = EAS_HWFileSeek(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, pos);
274 result = EAS_HWGetDWord(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, &infoType, EAS_TRUE);
279 result = EAS_HWGetDWord(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, &temp, EAS_FALSE);
285 easHandle->jetHandle->numSegments = (EAS_U8) temp;
289 easHandle->jetHandle->numLibraries = (EAS_U8) temp;
317 EAS_PUBLIC EAS_RESULT JET_OpenFile (EAS_DATA_HANDLE easHandle, EAS_FILE_LOCATOR locator)
328 if (easHandle->jetHandle->jetFileHandle != NULL)
332 result = EAS_HWOpenFile(easHandle->hwInstData, locator, &easHandle->jetHandle->jetFileHandle, EAS_FILE_READ);
337 result = EAS_HWGetDWord(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, &chunkType, EAS_TRUE);
348 result = EAS_HWGetDWord(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, &dataSize, EAS_FALSE);
357 result = EAS_HWFileSeek(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, pos);
362 result = EAS_HWGetDWord(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, &chunkType, EAS_TRUE);
366 result = EAS_HWGetDWord(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, &chunkSize, EAS_FALSE);
374 result = JetParseInfoChunk(easHandle, pos, chunkSize);
378 if (smfChunkNum < easHandle->jetHandle->numSegments)
379 easHandle->jetHandle->segmentOffsets[smfChunkNum++] = pos;
385 if (dlsChunkNum < easHandle->jetHandle->numLibraries)
386 result = DLSParser(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, pos, &easHandle->jetHandle->libHandles[dlsChunkNum++]);
392 easHandle->jetHandle->appDataOffset = pos;
393 easHandle->jetHandle->appDataSize = chunkSize;
410 EAS_HWCloseFile(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle);
421 EAS_RESULT JET_GetAppData (EAS_DATA_HANDLE easHandle, EAS_I32 *pAppDataOffset, EAS_I32 *pAppDataSize)
425 if (easHandle->jetHandle->appDataSize == 0)
432 *pAppDataOffset = easHandle->jetHandle->appDataOffset;
433 *pAppDataSize = easHandle->jetHandle->appDataSize;
443 EAS_PUBLIC EAS_RESULT JET_CloseFile (EAS_DATA_HANDLE easHandle)
451 if (easHandle->jetHandle->segQueue[index].streamHandle != NULL)
453 result = JET_CloseSegment(easHandle, index);
460 easHandle->jetHandle->jetFileHandle != NULL))
462 result = EAS_HWCloseFile(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle);
464 easHandle->jetHandle->jetFileHandle = NULL;
476 EAS_PUBLIC EAS_RESULT JET_Init (EAS_DATA_HANDLE easHandle, const S_JET_CONFIG *pConfig, EAS_INT configSize)
482 if (easHandle == NULL)
484 if (easHandle->jetHandle != NULL)
490 pJet = EAS_HWMalloc(easHandle->hwInstData, sizeof(S_JET_DATA));
496 easHandle->jetHandle = pJet;
512 EAS_PUBLIC EAS_RESULT JET_Shutdown (EAS_DATA_HANDLE easHandle)
517 result = JET_CloseFile(easHandle);
520 EAS_HWFree(easHandle->hwInstData, easHandle->jetHandle);
521 easHandle->jetHandle = NULL;
531 EAS_PUBLIC EAS_RESULT JET_Status (EAS_DATA_HANDLE easHandle, S_JET_STATUS *pStatus)
535 pSeg = &easHandle->jetHandle->segQueue[easHandle->jetHandle->playSegment];
547 pStatus->paused = !(easHandle->jetHandle->flags & JET_FLAGS_PLAYING);
548 pStatus->numQueuedSegments = easHandle->jetHandle->numQueuedSegments;
549 pStatus->currentPlayingSegment = easHandle->jetHandle->playSegment;
550 pStatus->currentQueuedSegment = easHandle->jetHandle->queueSegment;
555 if ((result = EAS_GetLocation(easHandle, pSeg->streamHandle, &location)) == EAS_SUCCESS)
570 EAS_PUBLIC EAS_BOOL JET_GetEvent (EAS_DATA_HANDLE easHandle, EAS_U32 *pEventRaw, S_JET_EVENT *pEvent)
576 gotEvent = JET_ReadQueue(easHandle->jetHandle->appEventQueue,
577 &easHandle->jetHandle->appEventQueueRead,
578 easHandle->jetHandle->appEventQueueWrite,
599 EAS_PUBLIC EAS_RESULT JET_QueueSegment (EAS_DATA_HANDLE easHandle, EAS_INT segmentNum, EAS_INT libNum, EAS_INT repeatCount, EAS_INT transpose, EAS_U32 muteFlags, EAS_U8 userID)
605 { /* dpp: EAS_ReportEx(_EAS_SEVERITY_INFO, "JET_QueueSegment segNum=%d, queue=%d\n", segmentNum, easHandle->jetHandle->queueSegment); */ }
608 if (segmentNum >= easHandle->jetHandle->numSegments)
612 if (libNum >= easHandle->jetHandle->numLibraries)
616 p = &easHandle->jetHandle->segQueue[easHandle->jetHandle->queueSegment];
629 result = EAS_OpenJETStream(easHandle, easHandle->jetHandle->jetFileHandle, easHandle->jetHandle->segmentOffsets[segmentNum], &p->streamHandle);
635 if (++easHandle->jetHandle->numQueuedSegments < SEG_QUEUE_DEPTH)
637 result = JET_PrepareSegment(easHandle, easHandle->jetHandle->queueSegment);
643 result = EAS_HWDupHandle(easHandle->hwInstData, easHandle->jetHandle->jetFileHandle, &fileHandle);
647 easHandle->jetHandle->jetFileHandle = fileHandle;
648 easHandle->jetHandle->queueSegment = (EAS_U8) JET_NextSegment(easHandle->jetHandle->queueSegment);
658 EAS_PUBLIC EAS_RESULT JET_Play (EAS_DATA_HANDLE easHandle)
667 if (easHandle->jetHandle->flags & JET_FLAGS_PLAYING)
673 if (((index == easHandle->jetHandle->playSegment) && (easHandle->jetHandle->segQueue[index].state == JET_STATE_READY)) ||
674 (easHandle->jetHandle->segQueue[index].state == JET_STATE_PAUSED))
676 result = JET_StartPlayback(easHandle, index);
687 easHandle->jetHandle->flags |= JET_FLAGS_PLAYING;
697 EAS_PUBLIC EAS_RESULT JET_Pause (EAS_DATA_HANDLE easHandle)
706 if ((easHandle->jetHandle->flags & JET_FLAGS_PLAYING) == 0)
712 if (easHandle->jetHandle->segQueue[index].state == JET_STATE_PLAYING)
714 result = EAS_Pause(easHandle, easHandle->jetHandle->segQueue[easHandle->jetHandle->playSegment].streamHandle);
717 easHandle->jetHandle->segQueue[easHandle->jetHandle->playSegment].state = JET_STATE_PAUSED;
726 easHandle->jetHandle->flags &= ~JET_FLAGS_PLAYING;
736 EAS_PUBLIC EAS_RESULT JET_SetMuteFlags (EAS_DATA_HANDLE easHandle, EAS_U32 muteFlags, EAS_BOOL sync)
741 pSeg = &easHandle->jetHandle->segQueue[easHandle->jetHandle->playSegment];
749 return EAS_IntSetStrmParam(easHandle, pSeg->streamHandle, PARSER_DATA_MUTE_FLAGS, (EAS_I32) muteFlags);
772 EAS_PUBLIC EAS_RESULT JET_SetMuteFlag (EAS_DATA_HANDLE easHandle, EAS_INT trackNum, EAS_BOOL muteFlag, EAS_BOOL sync)
784 pSeg = &easHandle->jetHandle->segQueue[easHandle->jetHandle->playSegment];
795 return EAS_IntSetStrmParam(easHandle, pSeg->streamHandle, PARSER_DATA_MUTE_FLAGS, (EAS_I32) pSeg->muteFlags);
826 EAS_PUBLIC EAS_RESULT JET_TriggerClip (EAS_DATA_HANDLE easHandle, EAS_INT clipID)
841 if (easHandle->jetHandle->muteQueue[i] == clipID)
846 if (easHandle->jetHandle->muteQueue[i] == 0)
852 easHandle->jetHandle->muteQueue[index] = (EAS_U8) clipID | JET_CLIP_TRIGGER_FLAG;
862 EAS_PUBLIC EAS_RESULT JET_Process (EAS_DATA_HANDLE easHandle)
875 while (JET_ReadQueue(easHandle->jetHandle->jetEventQueue,
876 &easHandle->jetHandle->jetEventQueueRead,
877 easHandle->jetHandle->jetEventQueueWrite,
889 (easHandle->jetHandle->segQueue[easHandle->jetHandle->playSegment].streamHandle != NULL))
894 index = playIndex = easHandle->jetHandle->playSegment;
897 pSeg = &easHandle->jetHandle->segQueue[index];
902 result = EAS_State(easHandle, pSeg->streamHandle, &state);
917 result = EAS_Locate(easHandle, pSeg->streamHandle, 0, EAS_FALSE);
926 result = EAS_IntSetStrmParam(easHandle
939 easHandle->jetHandle->playSegment = (EAS_U8) JET_NextSegment(index);
948 result = JET_CloseSegment(easHandle, index);
957 result = JET_StartPlayback(easHandle, index);
968 result = JET_PrepareSegment(easHandle, index);
991 if (easHandle->jetHandle->numQueuedSegments == 0)
992 easHandle->jetHandle->flags &= ~JET_FLAGS_PLAYING;
1003 void JET_Event (EAS_DATA_HANDLE easHandle, EAS_U32 segTrack, EAS_U8 channel, EAS_U8 controller, EAS_U8 value)
1007 if (easHandle->jetHandle == NULL)
1020 if ((easHandle->jetHandle->muteQueue[i] & JET_CLIP_ID_MASK) == (value & JET_CLIP_ID_MASK))
1023 pSeg = &easHandle->jetHandle->segQueue[segTrack >> JET_EVENT_SEG_SHIFT];
1027 if ((easHandle->jetHandle->muteQueue[i] & JET_CLIP_TRIGGER_FLAG) && ((value & 0x40) > 0))
1030 easHandle->jetHandle->muteQueue[i] &= ~JET_CLIP_TRIGGER_FLAG;
1040 easHandle->jetHandle->muteQueue[i] = 0;
1042 EAS_IntSetStrmParam(easHandle, pSeg->streamHandle, PARSER_DATA_MUTE_FLAGS, (EAS_I32) pSeg->muteFlags);
1053 if ((controller >= easHandle->jetHandle->config.appEventRangeLow) && (controller <= easHandle->jetHandle->config.appEventRangeHigh))
1056 event |= easHandle->jetHandle->segQueue[(segTrack & JET_EVENT_SEG_MASK) >> JET_EVENT_SEG_SHIFT].userID << JET_EVENT_SEG_SHIFT;
1060 JET_WriteQueue(easHandle->jetHandle->appEventQueue,
1061 &easHandle->jetHandle->appEventQueueWrite,
1062 easHandle->jetHandle->appEventQueueRead,
1074 JET_WriteQueue(easHandle->jetHandle->jetEventQueue,
1075 &easHandle->jetHandle->jetEventQueueWrite,
1076 easHandle->jetHandle->jetEventQueueRead,
1088 EAS_RESULT JET_Clear_Queue(EAS_DATA_HANDLE easHandle)
1098 if (easHandle->jetHandle->segQueue[index].state == JET_STATE_PLAYING)
1100 result = EAS_Pause(easHandle, easHandle->jetHandle->segQueue[index].streamHandle);
1104 easHandle->jetHandle->segQueue[index].state = JET_STATE_PAUSED;
1111 if (easHandle->jetHandle->segQueue[index].streamHandle != NULL)
1113 result = JET_CloseSegment(easHandle, index);
1122 easHandle->jetHandle->muteQueue[index] = 0;
1125 easHandle->jetHandle->flags &= ~JET_FLAGS_PLAYING;
1126 easHandle->jetHandle->playSegment = easHandle->jetHandle->queueSegment = 0;