RIO-7398: Any file less than 512 bytes(max of min recognizer plugin bytes ) won't play
http://b/issue?id=1357057
diff --git a/fileformats/common/parser/include/pvmi_datastreamsyncinterface_ref_impl.h b/fileformats/common/parser/include/pvmi_datastreamsyncinterface_ref_impl.h
index 8cf1905..572e0cb 100644
--- a/fileformats/common/parser/include/pvmi_datastreamsyncinterface_ref_impl.h
+++ b/fileformats/common/parser/include/pvmi_datastreamsyncinterface_ref_impl.h
@@ -131,7 +131,7 @@
uint32 GetContentLength()
{
- return 0;
+ return (uint32)iFileNumBytes;
}
uint32 QueryBufferingCapacity()
diff --git a/pvmi/recognizer/src/pvmf_recognizer_registry_impl.cpp b/pvmi/recognizer/src/pvmf_recognizer_registry_impl.cpp
index 44e5259..018a2cb 100644
--- a/pvmi/recognizer/src/pvmf_recognizer_registry_impl.cpp
+++ b/pvmi/recognizer/src/pvmf_recognizer_registry_impl.cpp
@@ -459,14 +459,17 @@
if (capacity < maxSize)
{
- if (status == PVDS_END_OF_STREAM)
+ // Get total content size to deal with cases where file being recognized is less than maxSize
+ uint32 totalSize = iDataStream->GetContentLength();
+ if ((status == PVDS_END_OF_STREAM) || (capacity == totalSize))
{
uuid = PVMIDataStreamSyncInterfaceUuid;
iDataStreamFactory->DestroyPVMFCPMPluginAccessInterface(uuid,
OSCL_STATIC_CAST(PVInterface*, iDataStream));
iDataStream = NULL;
- return PVMFFailure;
+ return PVMFSuccess;
}
+
int32 errcode = 0;
OSCL_TRY(errcode,
iRequestReadCapacityNotificationID =