From 96fea929798d460d61bb80a8adf2b2ca040ebd78 Mon Sep 17 00:00:00 2001 From: shatty Date: Sun, 25 Jan 2004 12:49:33 +0000 Subject: [PATCH] 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 --- src/add-ons/media/plugins/ogg/OggStream.cpp | 12 +++--------- src/add-ons/media/plugins/ogg/OggStream.h | 1 + 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/add-ons/media/plugins/ogg/OggStream.cpp b/src/add-ons/media/plugins/ogg/OggStream.cpp index 93277ac918..fb9c1ed822 100644 --- a/src/add-ons/media/plugins/ogg/OggStream.cpp +++ b/src/add-ons/media/plugins/ogg/OggStream.cpp @@ -217,23 +217,17 @@ status_t OggStream::GetNextChunk(void **chunkBuffer, int32 *chunkSize, media_header *mediaHeader) { - static ogg_packet packet; - uint page = fEndPage; if (fCurrentPacket - fHeaderPackets.size() == fOggFrameInfos.size()) { OggFrameInfo info(fEndPage,fPacketOnEndPage,fEndPacket); fOggFrameInfos.push_back(info); } - status_t result = GetPacket(&packet); - if (fCurrentPacket - fHeaderPackets.size() == fOggFrameInfos.size()) { - if (page != fEndPage) { - } - } + status_t result = GetPacket(&fChunkPacket); if (result != B_OK) { TRACE("OggStream::GetNextChunk failed: GetPacket = %s\n", strerror(result)); return result; } - *chunkBuffer = &packet; - *chunkSize = sizeof(packet); + *chunkBuffer = &fChunkPacket; + *chunkSize = sizeof(fChunkPacket); return B_OK; } diff --git a/src/add-ons/media/plugins/ogg/OggStream.h b/src/add-ons/media/plugins/ogg/OggStream.h index c1f12bcd34..6a9cec1bcf 100644 --- a/src/add-ons/media/plugins/ogg/OggStream.h +++ b/src/add-ons/media/plugins/ogg/OggStream.h @@ -61,6 +61,7 @@ private: uint fPacketOnEndPage; uint fEndPacket; OggReader::GetPageInterface * fReaderInterface; + ogg_packet fChunkPacket; }; } } // namespace BPrivate::media