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