diff --git a/src/add-ons/media/plugins/ape_reader/APEReader.cpp b/src/add-ons/media/plugins/ape_reader/APEReader.cpp index 54f8c2cb2c..09c1a21609 100644 --- a/src/add-ons/media/plugins/ape_reader/APEReader.cpp +++ b/src/add-ons/media/plugins/ape_reader/APEReader.cpp @@ -4,6 +4,7 @@ #include +#include #include "APEReader.h" #include "MACLib.h" @@ -216,6 +217,17 @@ TAPEReader::Sniff(int32* oStreamCount) if (mSrcPIO == NULL) return B_ERROR; + BMediaIO* mediaIO = dynamic_cast(Source()); + if (mediaIO != NULL) { + int32 flags = 0; + mediaIO->GetFlags(&flags); + // This plugin doesn't support streamed data. + // The APEHeader::FindDescriptor function always + // analyze the whole file to find the APE_DESCRIPTOR. + if ((flags & B_MEDIA_STREAMING) == true) + return B_ERROR; + } + int nFunctionRetVal = ERROR_SUCCESS; mPositionBridgeIO.SetPositionIO(mSrcPIO); diff --git a/src/add-ons/media/plugins/ape_reader/MAClib/APEHeader.cpp b/src/add-ons/media/plugins/ape_reader/MAClib/APEHeader.cpp index 73735ccfea..ba2f1cea68 100644 --- a/src/add-ons/media/plugins/ape_reader/MAClib/APEHeader.cpp +++ b/src/add-ons/media/plugins/ape_reader/MAClib/APEHeader.cpp @@ -282,4 +282,4 @@ int CAPEHeader::AnalyzeOld(APE_FILE_INFO * pInfo) } return ERROR_SUCCESS; -} \ No newline at end of file +}