Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Mueller <nexyon@gmail.com>2011-06-04 03:28:57 +0400
committerJoerg Mueller <nexyon@gmail.com>2011-06-04 03:28:57 +0400
commitd1c542ce0551f6ec3408b7c6689ad17b0a14e8d2 (patch)
tree4d4ca1da42cee6db71b3515f7330aa0fffdb6d70 /intern/audaspace/sndfile
parentcd04cff1800e8f60a06d8da6e79ac436808c9a7d (diff)
3D Audio GSoC:
Memory management improvements.
Diffstat (limited to 'intern/audaspace/sndfile')
-rw-r--r--intern/audaspace/sndfile/AUD_SndFileFactory.cpp10
-rw-r--r--intern/audaspace/sndfile/AUD_SndFileFactory.h2
-rw-r--r--intern/audaspace/sndfile/AUD_SndFileReader.cpp10
3 files changed, 11 insertions, 11 deletions
diff --git a/intern/audaspace/sndfile/AUD_SndFileFactory.cpp b/intern/audaspace/sndfile/AUD_SndFileFactory.cpp
index 2d1d29e50f5..7ab3308f01b 100644
--- a/intern/audaspace/sndfile/AUD_SndFileFactory.cpp
+++ b/intern/audaspace/sndfile/AUD_SndFileFactory.cpp
@@ -43,13 +43,13 @@ AUD_SndFileFactory::AUD_SndFileFactory(std::string filename) :
AUD_SndFileFactory::AUD_SndFileFactory(const data_t* buffer, int size) :
m_buffer(new AUD_Buffer(size))
{
- memcpy(m_buffer.get()->getBuffer(), buffer, size);
+ memcpy(m_buffer->getBuffer(), buffer, size);
}
-AUD_IReader* AUD_SndFileFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_SndFileFactory::createReader() const
{
- if(m_buffer.get())
- return new AUD_SndFileReader(m_buffer);
- else
+ if(m_buffer.isNull())
return new AUD_SndFileReader(m_filename);
+ else
+ return new AUD_SndFileReader(m_buffer);
}
diff --git a/intern/audaspace/sndfile/AUD_SndFileFactory.h b/intern/audaspace/sndfile/AUD_SndFileFactory.h
index 9c747e1df01..3a1037e5587 100644
--- a/intern/audaspace/sndfile/AUD_SndFileFactory.h
+++ b/intern/audaspace/sndfile/AUD_SndFileFactory.h
@@ -72,7 +72,7 @@ public:
*/
AUD_SndFileFactory(const data_t* buffer, int size);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader() const;
};
#endif //AUD_SNDFILEFACTORY
diff --git a/intern/audaspace/sndfile/AUD_SndFileReader.cpp b/intern/audaspace/sndfile/AUD_SndFileReader.cpp
index f226d2eee4d..7b5fd7b0f45 100644
--- a/intern/audaspace/sndfile/AUD_SndFileReader.cpp
+++ b/intern/audaspace/sndfile/AUD_SndFileReader.cpp
@@ -36,7 +36,7 @@
sf_count_t AUD_SndFileReader::vio_get_filelen(void *user_data)
{
AUD_SndFileReader* reader = (AUD_SndFileReader*)user_data;
- return reader->m_membuffer.get()->getSize();
+ return reader->m_membuffer->getSize();
}
sf_count_t AUD_SndFileReader::vio_seek(sf_count_t offset, int whence,
@@ -53,7 +53,7 @@ sf_count_t AUD_SndFileReader::vio_seek(sf_count_t offset, int whence,
reader->m_memoffset = reader->m_memoffset + offset;
break;
case SEEK_END:
- reader->m_memoffset = reader->m_membuffer.get()->getSize() + offset;
+ reader->m_memoffset = reader->m_membuffer->getSize() + offset;
break;
}
@@ -65,10 +65,10 @@ sf_count_t AUD_SndFileReader::vio_read(void *ptr, sf_count_t count,
{
AUD_SndFileReader* reader = (AUD_SndFileReader*)user_data;
- if(reader->m_memoffset + count > reader->m_membuffer.get()->getSize())
- count = reader->m_membuffer.get()->getSize() - reader->m_memoffset;
+ if(reader->m_memoffset + count > reader->m_membuffer->getSize())
+ count = reader->m_membuffer->getSize() - reader->m_memoffset;
- memcpy(ptr, ((data_t*)reader->m_membuffer.get()->getBuffer()) +
+ memcpy(ptr, ((data_t*)reader->m_membuffer->getBuffer()) +
reader->m_memoffset, count);
reader->m_memoffset += count;