static variables in functions are all fun and good until you realize that they are not equivalent to class level variables when that function is a method

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6279 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
shatty
2004-01-25 12:49:33 +00:00
parent 37eee613ca
commit 96fea92979
2 changed files with 4 additions and 9 deletions
+3 -9
View File
@@ -217,23 +217,17 @@ status_t
OggStream::GetNextChunk(void **chunkBuffer, int32 *chunkSize, OggStream::GetNextChunk(void **chunkBuffer, int32 *chunkSize,
media_header *mediaHeader) media_header *mediaHeader)
{ {
static ogg_packet packet;
uint page = fEndPage;
if (fCurrentPacket - fHeaderPackets.size() == fOggFrameInfos.size()) { if (fCurrentPacket - fHeaderPackets.size() == fOggFrameInfos.size()) {
OggFrameInfo info(fEndPage,fPacketOnEndPage,fEndPacket); OggFrameInfo info(fEndPage,fPacketOnEndPage,fEndPacket);
fOggFrameInfos.push_back(info); fOggFrameInfos.push_back(info);
} }
status_t result = GetPacket(&packet); status_t result = GetPacket(&fChunkPacket);
if (fCurrentPacket - fHeaderPackets.size() == fOggFrameInfos.size()) {
if (page != fEndPage) {
}
}
if (result != B_OK) { if (result != B_OK) {
TRACE("OggStream::GetNextChunk failed: GetPacket = %s\n", strerror(result)); TRACE("OggStream::GetNextChunk failed: GetPacket = %s\n", strerror(result));
return result; return result;
} }
*chunkBuffer = &packet; *chunkBuffer = &fChunkPacket;
*chunkSize = sizeof(packet); *chunkSize = sizeof(fChunkPacket);
return B_OK; return B_OK;
} }
@@ -61,6 +61,7 @@ private:
uint fPacketOnEndPage; uint fPacketOnEndPage;
uint fEndPacket; uint fEndPacket;
OggReader::GetPageInterface * fReaderInterface; OggReader::GetPageInterface * fReaderInterface;
ogg_packet fChunkPacket;
}; };
} } // namespace BPrivate::media } } // namespace BPrivate::media