Merge branch 'bug_274_disable_fast_winding_for_non_ts' into experimental
authorghost <andreas.monzner@multimedia-labs.de>
Wed, 30 Dec 2009 16:35:16 +0000 (17:35 +0100)
committerghost <andreas.monzner@multimedia-labs.de>
Wed, 30 Dec 2009 16:35:16 +0000 (17:35 +0100)
lib/python/Screens/InfoBarGenerics.py
lib/service/servicedvb.cpp

index 58cee9f..d2c5a79 100644 (file)
@@ -914,7 +914,8 @@ class InfoBarSeek:
                        if not self.fast_winding_hint_message_showed and (seek.isCurrentlySeekable() & 1):
                                self.session.open(MessageBox, _("No fast winding possible yet.. but you can use the number buttons to skip forward/backward!"), MessageBox.TYPE_INFO, timeout=10)
                                self.fast_winding_hint_message_showed = True
-                       return
+                               return
+                       return 0 # trade as unhandled action
                if self.seekstate == self.SEEK_STATE_PLAY:
                        self.setSeekState(self.makeStateForward(int(config.seek.enter_forward.value)))
                elif self.seekstate == self.SEEK_STATE_PAUSE:
@@ -949,7 +950,8 @@ class InfoBarSeek:
                        if not self.fast_winding_hint_message_showed and (seek.isCurrentlySeekable() & 1):
                                self.session.open(MessageBox, _("No fast winding possible yet.. but you can use the number buttons to skip forward/backward!"), MessageBox.TYPE_INFO, timeout=10)
                                self.fast_winding_hint_message_showed = True
-                       return
+                               return
+                       return 0 # trade as unhandled action
                seekstate = self.seekstate
                if seekstate == self.SEEK_STATE_PLAY:
                        self.setSeekState(self.makeStateBackward(int(config.seek.enter_backward.value)))
index e6af1e6..602eccf 100644 (file)
@@ -1387,7 +1387,14 @@ RESULT eDVBServicePlay::setTrickmode(int trick)
 
 RESULT eDVBServicePlay::isCurrentlySeekable()
 {
-       return m_is_pvr || m_timeshift_active ? 3 : 0; // fast forward/backward possible and seeking possible
+       int ret = 0;
+       if (m_decoder)
+       {
+               ret = (m_is_pvr || m_timeshift_active) ? 3 : 0; // fast forward/backward possible and seeking possible
+               if (m_decoder->getVideoWidth() == -1)
+                       ret &= ~2;
+       }
+       return ret;
 }
 
 RESULT eDVBServicePlay::frontendInfo(ePtr<iFrontendInformation> &ptr)