diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2005-12-19 14:47:54 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2005-12-19 14:47:54 +0000 |
| commit | 740ae9b4a03c13901e4f4ffc008e4c0cfd63d896 (patch) | |
| tree | 148ab6985db0ea9f67380740f19d32b12b2e8c6d /lib/service | |
| parent | c9e02e35c9c420e16921f2bedcaf380477a24849 (diff) | |
| download | enigma2-740ae9b4a03c13901e4f4ffc008e4c0cfd63d896.tar.gz enigma2-740ae9b4a03c13901e4f4ffc008e4c0cfd63d896.zip | |
decoder: switch off audio in trickmodes
Diffstat (limited to 'lib/service')
| -rw-r--r-- | lib/service/iservice.h | 3 | ||||
| -rw-r--r-- | lib/service/servicedvb.cpp | 9 | ||||
| -rw-r--r-- | lib/service/servicedvb.h | 1 |
3 files changed, 12 insertions, 1 deletions
diff --git a/lib/service/iservice.h b/lib/service/iservice.h index ed1cf3a5..378bdcc9 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -278,6 +278,9 @@ public: enum { dirForward = +1, dirBackward = -1 }; virtual RESULT seekRelative(int direction, pts_t to)=0; virtual RESULT getPlayPosition(pts_t &SWIG_OUTPUT)=0; + /* if you want to do several seeks in a row, you can enable the trickmode. + audio will be switched off, sync will be disabled etc. */ + virtual RESULT setTrickmode(int trick=0)=0; }; TEMPLATE_TYPEDEF(ePtr<iSeekableService>, iSeekableServicePtr); diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 790bfca6..fc35b521 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -669,7 +669,7 @@ RESULT eDVBServicePlay::setSlowMotion(int ratio) RESULT eDVBServicePlay::setFastForward(int ratio) { if (m_decoder) - m_decoder->setFastForward(ratio); + return m_decoder->setFastForward(ratio); else return -1; } @@ -758,6 +758,13 @@ RESULT eDVBServicePlay::getPlayPosition(pts_t &pos) return pvr_channel->getCurrentPosition(demux, pos); } +RESULT eDVBServicePlay::setTrickmode(int trick=0) +{ + if (m_decoder) + m_decoder->setTrickmode(trick); + return 0; +} + RESULT eDVBServicePlay::frontendStatusInfo(ePtr<iFrontendStatusInformation> &ptr) { ptr = this; diff --git a/lib/service/servicedvb.h b/lib/service/servicedvb.h index e99faffd..b1df4cb7 100644 --- a/lib/service/servicedvb.h +++ b/lib/service/servicedvb.h @@ -84,6 +84,7 @@ public: RESULT seekTo(pts_t to); RESULT seekRelative(int direction, pts_t to); RESULT getPlayPosition(pts_t &pos); + RESULT setTrickmode(int trick=0); // iServiceInformation RESULT getName(std::string &name); |
