1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-01 05:15:33 +00:00

DataStreamPtr fix, indentation fixes

This commit is contained in:
scrawl 2012-12-11 23:06:06 +01:00
parent c49966dd29
commit 0ce5ade6d8
2 changed files with 59 additions and 55 deletions

View file

@ -11,7 +11,7 @@ namespace MWRender
int OgreResource_Read(void *opaque, uint8_t *buf, int buf_size) int OgreResource_Read(void *opaque, uint8_t *buf, int buf_size)
{ {
Ogre::DataStreamPtr stream = *((Ogre::DataStreamPtr*)opaque); Ogre::DataStreamPtr stream = static_cast<VideoState*>(opaque)->stream;
int num_read = stream->size() - stream->tell(); int num_read = stream->size() - stream->tell();
@ -24,7 +24,7 @@ namespace MWRender
int OgreResource_Write(void *opaque, uint8_t *buf, int buf_size) int OgreResource_Write(void *opaque, uint8_t *buf, int buf_size)
{ {
Ogre::DataStreamPtr stream = *((Ogre::DataStreamPtr*)opaque); Ogre::DataStreamPtr stream = static_cast<VideoState*>(opaque)->stream;
int num_write = stream->size() - stream->tell(); int num_write = stream->size() - stream->tell();
@ -37,7 +37,7 @@ namespace MWRender
int64_t OgreResource_Seek(void *opaque, int64_t offset, int whence) int64_t OgreResource_Seek(void *opaque, int64_t offset, int whence)
{ {
Ogre::DataStreamPtr stream = *((Ogre::DataStreamPtr*)opaque); Ogre::DataStreamPtr stream = static_cast<VideoState*>(opaque)->stream;
switch (whence) switch (whence)
{ {
@ -432,7 +432,8 @@ namespace MWRender
is->pictq_cond.notify_one (); is->pictq_cond.notify_one ();
is->pictq_mutex.unlock (); is->pictq_mutex.unlock ();
} }
} else { }
else {
schedule_refresh(is, 100); schedule_refresh(is, 100);
} }
} }
@ -673,10 +674,11 @@ namespace MWRender
Ogre::DataStreamPtr stream = Ogre::ResourceGroupManager::getSingleton ().openResource (is->resourceName); Ogre::DataStreamPtr stream = Ogre::ResourceGroupManager::getSingleton ().openResource (is->resourceName);
if(stream.isNull ()) if(stream.isNull ())
throw std::runtime_error("Failed to open video resource"); throw std::runtime_error("Failed to open video resource");
is->stream = stream;
AVIOContext *ioContext = 0; AVIOContext *ioContext = 0;
ioContext = avio_alloc_context(NULL, 0, 0, &stream, OgreResource_Read, OgreResource_Write, OgreResource_Seek); ioContext = avio_alloc_context(NULL, 0, 0, is, OgreResource_Read, OgreResource_Write, OgreResource_Seek);
if (!ioContext) if (!ioContext)
throw std::runtime_error("Failed to allocate ioContext "); throw std::runtime_error("Failed to allocate ioContext ");

View file

@ -108,6 +108,8 @@ namespace MWRender
AVStream *video_st; AVStream *video_st;
PacketQueue videoq; PacketQueue videoq;
Ogre::DataStreamPtr stream;
SwsContext* sws_context; SwsContext* sws_context;
VideoPicture pictq[VIDEO_PICTURE_QUEUE_SIZE]; VideoPicture pictq[VIDEO_PICTURE_QUEUE_SIZE];