svn merge -r 30718:30912 https://svn.blender.org/svnroot/bf-blender/trunk/blender
authorJoerg Mueller <nexyon@gmail.com>
Fri, 30 Jul 2010 22:34:27 +0000 (22:34 +0000)
committerJoerg Mueller <nexyon@gmail.com>
Fri, 30 Jul 2010 22:34:27 +0000 (22:34 +0000)
1  2 
intern/audaspace/intern/AUD_IReader.h
intern/audaspace/intern/AUD_StreamBufferFactory.cpp

index baba587ea03ebf4d224429931c0472e680c29b29,02a46098d32cb20f6b7c8f8d059d014529978635..816abfea7f3b2a14ff7bd7270903f4d9bd06c9bd
@@@ -46,7 -46,7 +46,7 @@@ public
         * \return Always returns true for readers of the buffer type.
         * \see getType
         */
 -      virtual bool isSeekable()=0;
 +      virtual bool isSeekable() const=0;
  
        /**
         * Seeks to a specific position in the source.
        virtual void seek(int position)=0;
  
        /**
-        * Returns an aproximated length of the source in samples.
+        * Returns an approximated length of the source in samples.
         * For readers of the type buffer this has to return a correct value!
         * \return The length as sample count. May be negative if unknown.
         * \see getType
         */
 -      virtual int getLength()=0;
 +      virtual int getLength() const=0;
  
        /**
         * Returns the position of the source as a sample count value.
         *          the buffer ones.
         * \see getType
         */
 -      virtual int getPosition()=0;
 +      virtual int getPosition() const=0;
  
        /**
         * Returns the specification of the reader.
         * \return The AUD_Specs structure.
         */
 -      virtual AUD_Specs getSpecs()=0;
 -
 -      /**
 -       * Returns the type of the reader. There are special conditions for the
 -       * readers of the buffer type. Those have to return correct position and
 -       * length values as well as they must be seekable.
 -       * \return AUD_TYPE_BUFFER or AUD_TYPE_STREAM.
 -       */
 -      virtual AUD_ReaderType getType()=0;
 -
 -      /**
 -       * Sends a message to this reader and if it has subreaders it broadcasts
 -       * the message to them.
 -       * \param message The message.
 -       * \return Whether the message has been read by the reader or one of his
 -       *         subreaders.
 -       */
 -      virtual bool notify(AUD_Message &message)=0;
 +      virtual AUD_Specs getSpecs() const=0;
  
        /**
         * Request to read the next length samples out of the source.
index 4079079cb3349486c27243fe28ae9a94297df256,cb97e6125fbe3a0d23f0adeaa43fac8edbf99ae2..c1eb8161e30c26ca9249c5b286cf3f8c018d423f
  
  #include <cstring>
  
 -AUD_StreamBufferFactory::AUD_StreamBufferFactory(AUD_IFactory* factory)
 +AUD_StreamBufferFactory::AUD_StreamBufferFactory(AUD_IFactory* factory) :
 +      m_buffer(new AUD_Buffer())
  {
        AUD_IReader* reader = factory->createReader();
  
 -      if(reader == NULL)
 -              AUD_THROW(AUD_ERROR_READER);
 -
        m_specs = reader->getSpecs();
 -      m_buffer = AUD_Reference<AUD_Buffer>(new AUD_Buffer()); AUD_NEW("buffer")
  
        int sample_size = AUD_SAMPLE_SIZE(m_specs);
        int length;
        int index = 0;
        sample_t* buffer;
  
-       // get an aproximated size if possible
+       // get an approximated size if possible
        int size = reader->getLength();
  
        if(size <= 0)
                index += length;
        }
  
 -      m_buffer.get()->resize(index*sample_size, true);
 -      delete reader; AUD_DELETE("reader")
 +      m_buffer.get()->resize(index * sample_size, true);
 +      delete reader;
  }
  
 -AUD_IReader* AUD_StreamBufferFactory::createReader()
 +AUD_IReader* AUD_StreamBufferFactory::createReader() const
  {
 -      AUD_IReader* reader = new AUD_BufferReader(m_buffer, m_specs);
 -      AUD_NEW("reader")
 -      return reader;
 +      return new AUD_BufferReader(m_buffer, m_specs);
  }