Bugzilla – Bug 9773
Pause is not allowed when buffering
Last modified: 2009-07-31 10:31:04 UTC
I had an alarm that went off, and there was a bit of choppyness in the playback to my wireless SB3. I hit pause to see why playback was choppy. I checked the log and I saw the following message: [07:00:32.1736] Slim::Player::StreamingController::_Invalid (320) 00:04:20:06:38:3c: event Pause received while in invalid state BUFFERING-STREAMING [07:00:32.2177] Slim::Utils::Misc::msg (1126) Warning: [07:00:32.1823] Backtrace: frame 0: Slim::Player::StreamingController::_Invalid (P:/Music/SlimServer/trunk/server/Slim/Player/StreamingController.pm line 282) frame 1: Slim::Player::StreamingController::_eventAction (P:/Music/SlimServer/trunk/server/Slim/Player/StreamingController.pm line 1547) frame 2: Slim::Player::StreamingController::pause (P:/Music/SlimServer/trunk/server/Slim/Player/Source.pm line 152) frame 3: Slim::Player::Source::playmode (P:/Music/SlimServer/trunk/server/Slim/Control/Commands.pm line 714) frame 4: Slim::Control::Commands::playcontrolCommand (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 1882) frame 5: (eval) (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 1882) frame 6: Slim::Control::Request::execute (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 865) frame 7: Slim::Control::Request::executeRequest (P:/Music/SlimServer/trunk/server/Slim/Player/Client.pm line 650) frame 8: Slim::Player::Client::execute (P:/Music/SlimServer/trunk/server/Slim/Player/Player.pm line 252) frame 9: Slim::Player::Player::power (P:/Music/SlimServer/trunk/server/Slim/Control/Commands.pm line 2233) frame 10: Slim::Control::Commands::powerCommand (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 1882) frame 11: (eval) (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 1882) frame 12: Slim::Control::Request::execute (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 865) frame 13: Slim::Control::Request::executeRequest (P:/Music/SlimServer/trunk/server/Slim/Player/Client.pm line 650) frame 14: Slim::Player::Client::execute (P:/Music/SlimServer/trunk/server/Slim/Buttons/Common.pm line 1060) frame 15: Slim::Buttons::Common::__ANON__ (P:/Music/SlimServer/trunk/server/Slim/Hardware/IR.pm line 1104) frame 16: Slim::Hardware::IR::executeButton (P:/Music/SlimServer/trunk/server/Slim/Control/Commands.pm line 278) frame 17: Slim::Control::Commands::buttonCommand (P:/Music/SlimServer/trunk/server/Plugins/StatusFirst/Plugin.pm line 169) frame 18: Plugins::StatusFirst::Plugin::StatusFirst_buttonCommand (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 1882) frame 19: (eval) (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 1882) frame 20: Slim::Control::Request::execute (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 865) frame 21: Slim::Control::Request::executeRequest (P:/Music/SlimServer/trunk/server/Slim/Player/Client.pm line 650) frame 22: Slim::Player::Client::execute (P:/Music/SlimServer/trunk/server/Slim/Hardware/IR.pm line 1125) frame 23: Slim::Hardware::IR::processCode (P:/Music/SlimServer/trunk/server/Slim/Hardware/IR.pm line 795) frame 24: Slim::Hardware::IR::processIR (P:/Music/SlimServer/trunk/server/Slim/Control/Commands.pm line 493) frame 25: Slim::Control::Commands::irCommand (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 1882) frame 26: (eval) (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 1882) frame 27: Slim::Control::Request::execute (P:/Music/SlimServer/trunk/server/Slim/Control/Request.pm line 865) frame 28: Slim::Control::Request::executeRequest (P:/Music/SlimServer/trunk/server/Slim/Player/Client.pm line 650) frame 29: Slim::Player::Client::execute (P:/Music/SlimServer/trunk/server/Slim/Hardware/IR.pm line 125) frame 30: Slim::Hardware::IR::idle (P:\Music\SlimServer\trunk\server\slimserver.pl line 510) frame 31: main::idle (P:\Music\SlimServer\trunk\server\slimserver.pl line 484) frame 32: main::main (P:\Music\SlimServer\trunk\server\slimserver.pl line 1041) This was on SC7.3 SVN 23617.
awy said: "the state table does not allow for the possibility of pausing during initial buffering or rebuffering (due to underrun). I guess that there is no good reason why not. It will only be possible actually to enter pause during the rebuffering state, as I am pretty sure that the firmware will autostart when the buffer reaches the threshold during normal start-of-track buffering."
On reflection, the only sensible to do in buffering or waiting-to-sync states is ignore the command. Change 23679.
This bug has been fixed in the 7.3.0 release version of SqueezeCenter! Please download the new version from http://www.slimdevices.com/su_downloads.html if you haven't already. If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.
Reduce number of active targets for SC