/[svn]/libgig/trunk/src/RIFF.cpp
ViewVC logotype

Diff of /libgig/trunk/src/RIFF.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 384 by schoenebeck, Thu Feb 17 02:22:26 2005 UTC revision 515 by schoenebeck, Sat May 7 20:19:10 2005 UTC
# Line 642  namespace RIFF { Line 642  namespace RIFF {
642      }      }
643    
644      /**      /**
645       *  Returns number subchunks within the list.       *  Returns number of subchunks within the list.
646       */       */
647      unsigned int List::CountSubChunks() {      unsigned int List::CountSubChunks() {
648          if (!pSubChunks) LoadSubChunks();          if (!pSubChunks) LoadSubChunks();
# Line 721  namespace RIFF { Line 721  namespace RIFF {
721          if (!pSubChunks) {          if (!pSubChunks) {
722              pSubChunks    = new ChunkList();              pSubChunks    = new ChunkList();
723              pSubChunksMap = new ChunkMap();              pSubChunksMap = new ChunkMap();
724                unsigned long uiOriginalPos = GetPos();
725                SetPos(0); // jump to beginning of list chunk body
726              while (RemainingBytes() >= CHUNK_HEADER_SIZE) {              while (RemainingBytes() >= CHUNK_HEADER_SIZE) {
727                  Chunk* ck;                  Chunk* ck;
728                  uint32_t ckid;                  uint32_t ckid;
# Line 740  namespace RIFF { Line 742  namespace RIFF {
742                  (*pSubChunksMap)[ckid] = ck;                  (*pSubChunksMap)[ckid] = ck;
743                  if (GetPos() % 2 != 0) SetPos(1, RIFF::stream_curpos); // jump over pad byte                  if (GetPos() % 2 != 0) SetPos(1, RIFF::stream_curpos); // jump over pad byte
744              }              }
745                SetPos(uiOriginalPos); // restore position before this call
746          }          }
747      }      }
748    

Legend:
Removed from v.384  
changed lines
  Added in v.515

  ViewVC Help
Powered by ViewVC