diff --git a/core/src/actionscript/org/flowplayer/controller/PlayListController.as b/core/src/actionscript/org/flowplayer/controller/PlayListController.as index 9321e6f..6828d04 100644 --- a/core/src/actionscript/org/flowplayer/controller/PlayListController.as +++ b/core/src/actionscript/org/flowplayer/controller/PlayListController.as @@ -340,7 +340,8 @@ package org.flowplayer.controller { private function replacePlaylistAndPlay(clips:Object):void { //#163 stop the connection and stream - _state.stop(true, true); + //#197 don't set stop to silent, causes some issues + _state.stop(true); clearStream(); if (clips is Clip) { @@ -348,7 +349,8 @@ package org.flowplayer.controller { } else { _playList.replaceClips2(clips as Array); } - play(); + + _state.play(); } flow_internal function addProvider(provider:ProviderModel):void { diff --git a/core/src/actionscript/org/flowplayer/controller/WaitingState.as b/core/src/actionscript/org/flowplayer/controller/WaitingState.as index 511b89b..481a285 100644 --- a/core/src/actionscript/org/flowplayer/controller/WaitingState.as +++ b/core/src/actionscript/org/flowplayer/controller/WaitingState.as @@ -49,11 +49,12 @@ import org.flowplayer.model.ClipEventType; override internal function stop(closeStreamAndConnection:Boolean = false, silent:Boolean = false):void { if (closeStreamAndConnection) { - stop(true); + //#197 fix stack error referencing stop method + super.stop(closeStreamAndConnection, silent); } } - internal override function startBuffering():void { + internal override function startBuffering():void { if (! playListReady) return; log.debug("startBuffering()"); bufferingState.nextStateAfterBufferFull = pausedState;