--- RecordTimer.py.orig.033
+++ RecordTimer.py
@@ -474,6 +474,17 @@
 					self.record_service = None
 
 			NavigationInstance.instance.RecordTimer.saveTimer()
+
+# GML:2 From here on we are checking whether to put the box into
+#      standby or deep sleep
+#      Don't even bother checking this if a playback is in progress
+#      (unless we've been put into Standby - in which case it isn't really)
+#      ....just say timer has been handled.
+#
+			from Screens.InfoBar import MoviePlayer
+			if (not Screens.Standby.inStandby) and (MoviePlayer.instance is not None):
+				return True
+# GML:2 - now continued below
 			if self.afterEvent == AFTEREVENT.STANDBY or (not wasRecTimerWakeup and self.autostate and self.afterEvent == AFTEREVENT.AUTO) or self.wasInStandby:
 				self.keypress() #this unbinds the keypress detection
 				if not Screens.Standby.inStandby: # not already in standby
@@ -482,6 +492,14 @@
 				if (abs(NavigationInstance.instance.RecordTimer.getNextRecordingTime() - time()) <= 900 or abs(NavigationInstance.instance.RecordTimer.getNextZapTime() - time()) <= 900) or NavigationInstance.instance.RecordTimer.getStillRecording():
 					print '[RecordTimer] Recording or Recording due is next 15 mins, not return to deepstandby'
 					return True
+# GML:2 Now also check for someone streaming remotely - in which case we don't want DEEPSTANDBY, yet!
+#       Might consider going to standby instead, but probably not worth it...
+#       Also might want to do_backoff() - but that is set-up for trying to start recording, so has a low maximum delay.
+#
+				from Components.Converter.ClientsStreaming import ClientsStreaming;
+				if int(ClientsStreaming("NUMBER").getText()) > 0:
+					return True
+# GML:2 - end
 				if not Screens.Standby.inTryQuitMainloop: # not a shutdown messagebox is open
 					if Screens.Standby.inStandby: # in standby
 						quitMainloop(1)
