 				super.resume();
 				
 				// If pausing has caused the current time to be before the DVR window, seek to the earliest possible location
-				if (time < indexHandler.lastKnownPlaylistStartTime)
+				if (indexHandler && time < indexHandler.lastKnownPlaylistStartTime)
 				{
 					trace("Resuming outside of DVR window, seeking to the last known playlist start time...");
 					seek(indexHandler.lastKnownPlaylistStartTime);

												logger.debug("Seeking before the last transition completed. Inserting TRANSITION_COMPLETE message in stream.");
											}
											
											var info:Object = new Object();
										info.code = NetStreamCodes.NETSTREAM_PLAY_TRANSITION_COMPLETE;
										info.level = "status";
										info.details = lastTransitionStreamURL;

					return -1;
				}
				
				/**
				 * @private
				 * 
				 * Determines the length (in seconds) of the playlist we are currently playing
				 */
				private function determinePlaylistLength():Number
				{
					if (currentStream)
					{
						// If we have more than one stream, use the last segment in the determined stream to find the stream length
						return getPLengthWithSegment(currentStream.manifest.segments[currentStream.manifest.segments.length - 1]);
					}
					else
					{
						// Otherwise, use the current resource (it should contain our segments)
						var HLSResource:HLSStreamingResource = _resource as HLSStreamingResource;
						return getPLengthWithSegment(HLSResource.manifest.segments[HLSResource.manifest.segments.length - 1]);
					}
				}
				
				/**
				 * @private
				 * 
				 * Helps to determine the length of the playlist we are currently playing
				 * 
				 * @param seg The last segment in the current playlist
				 */
				private function getPLengthWithSegment(seg:HLSManifestSegment):Number
				{
					return seg.startTime + seg.duration;
				}
				
			private var _desiredBufferTime_Min:Number = 0;
			private var _desiredBufferTime_Max:Number = 0;
			
