 			super.bufferTime = value;
 			trace("   o super.bufferTime = " + super.bufferTime);
 			_desiredBufferTime_Min = Math.max(OSMFSettings.hdsMinimumBufferTime, value);
-			_desiredBufferTime_Max = _desiredBufferTime_Min + OSMFSettings.hdsAdditionalBufferTime;
+			_desiredBufferTime_Max = Math.min(60, _desiredBufferTime_Min * 3);
+			trace("   o _desiredBufferTime_Min = " + _desiredBufferTime_Min);
+			trace("   o _desiredBufferTime_Max = " + _desiredBufferTime_Max);
+
 		}
 		
 		/**

		{
			if(_state != HTTPStreamingState.HALT)
			{
				value = HLSManifestParser.MAX_SEG_BUFFER * 7.5;

				// Try a better guess.
				if(indexHandler)

					var lastMan:HLSManifestParser = indexHandler.getLastSequenceManifest();
					if(lastMan && lastMan.targetDuration > 0.0)
					{
						value = 1.75 * lastMan.targetDuration;
					}
				}

