bool MediaEngine::loadFile(const char* filename) { PSPFileInfo info = pspFileSystem.GetFileInfo(filename); s64 infosize = info.size; u8* buf = new u8[infosize]; if (!buf) return false; u32 h = pspFileSystem.OpenFile(filename, (FileAccess) FILEACCESS_READ); pspFileSystem.ReadFile(h, buf, infosize); pspFileSystem.CloseFile(h); closeMedia(); // force to clear the useless FBO gpu->Resized(); m_videopts = 0; m_audiopts = 0; m_bufSize = 0x2000; m_decodePos = 0; m_readSize = infosize; m_streamSize = infosize; m_pdata = buf; if (m_readSize > 0x2000) openContext(); return true; }
bool MediaEngine::loadStream(const u8 *buffer, int readSize, int RingbufferSize) { closeMedia(); m_videopts = 0; m_audiopts = 0; m_ringbuffersize = RingbufferSize; m_pdata = new BufferQueue(RingbufferSize + 2048); m_pdata->push(buffer, readSize); m_firstTimeStamp = getMpegTimeStamp(buffer + PSMF_FIRST_TIMESTAMP_OFFSET); m_lastTimeStamp = getMpegTimeStamp(buffer + PSMF_LAST_TIMESTAMP_OFFSET); int mpegoffset = (int)(*(s32_be*)(buffer + 8)); m_demux = new MpegDemux(RingbufferSize + 2048, mpegoffset); m_demux->addStreamData(buffer, readSize); return true; }
bool MediaEngine::loadStream(u8* buffer, int readSize, int StreamSize) { closeMedia(); // force to clear the useless FBO gpu->Resized(); m_videopts = 0; m_audiopts = 0; m_bufSize = 0x2000; m_decodePos = 0; m_readSize = readSize; m_streamSize = StreamSize; m_pdata = new u8[StreamSize]; if (!m_pdata) return false; memcpy(m_pdata, buffer, m_readSize); if (readSize > 0x2000) openContext(); return true; }
Bola::~Bola() { //dtor closeMedia(); }
MediaEngine::~MediaEngine() { closeMedia(); g_iNumVideos--; }
BGMusic::~BGMusic() { closeMedia(); }
MediaEngine::~MediaEngine() { closeMedia(); }