diff --git a/Modules/Core/Streaming/include/otbStreamingManager.h b/Modules/Core/Streaming/include/otbStreamingManager.h
index 2095e48e8f8199a9d8882a6fb2b690f7b9cbb012..5d94b191bae07170816de4f8c6e97e102589b4fc 100644
--- a/Modules/Core/Streaming/include/otbStreamingManager.h
+++ b/Modules/Core/Streaming/include/otbStreamingManager.h
@@ -88,6 +88,9 @@ public:
    * GetNumberOfSplits() returns. */
   virtual RegionType GetSplit(unsigned int i);
 
+  itkSetMacro(DefaultRAM, MemoryPrintType);
+  itkGetMacro(DefaultRAM, MemoryPrintType);
+
 protected:
   StreamingManager();
   ~StreamingManager() ITK_OVERRIDE;
@@ -111,11 +114,13 @@ private:
   StreamingManager(const StreamingManager &); //purposely not implemented
   void operator =(const StreamingManager&);   //purposely not implemented
 
-  /* Compute the available RAM from configuration settings if the input parameter is 0,
-   * otherwise, simply returns the input parameter */
+  /** Compute the available RAM in Bytes from an input value in MByte.
+   *  If the input value is 0, it uses the m_DefaultRAM value.
+   *  If m_DefaultRAM is also 0, it uses the configuration settings */
   MemoryPrintType GetActualAvailableRAMInBytes(MemoryPrintType availableRAMInMB);
 
-
+  /** Default available RAM in MB */
+  MemoryPrintType m_DefaultRAM;
 };
 
 } // End namespace otb
diff --git a/Modules/Core/Streaming/include/otbStreamingManager.txx b/Modules/Core/Streaming/include/otbStreamingManager.txx
index b0fdfced068fffe79695afedc671b6f7d3d22d67..e43dc86d75ae00a7266c134c1d9ed2040016c58e 100644
--- a/Modules/Core/Streaming/include/otbStreamingManager.txx
+++ b/Modules/Core/Streaming/include/otbStreamingManager.txx
@@ -31,6 +31,7 @@ namespace otb
 template <class TImage>
 StreamingManager<TImage>::StreamingManager()
   : m_ComputedNumberOfSplits(0)
+  , m_DefaultRAM(0)
 {
 }
 
@@ -47,9 +48,16 @@ StreamingManager<TImage>::GetActualAvailableRAMInBytes(MemoryPrintType available
 
   if (availableRAMInBytes == 0)
     {
-    otbMsgDevMacro(<< "Retrieving available RAM size from configuration");
-    // Retrieve it from the configuration
-    availableRAMInBytes = 1024*1024*ConfigurationManager::GetMaxRAMHint();
+    if (m_DefaultRAM != 0)
+      {
+      availableRAMInBytes = 1024*1024*m_DefaultRAM;
+      }
+    else
+      {
+      otbMsgDevMacro(<< "Retrieving available RAM size from configuration");
+      // Retrieve it from the configuration
+      availableRAMInBytes = 1024*1024*ConfigurationManager::GetMaxRAMHint();
+      }
     }
 
   otbMsgDevMacro("RAM used to estimate memory footprint : " << availableRAMInBytes / 1024 / 1024  << " MB")