diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2009-04-06 01:35:07 +0200 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2009-04-06 01:35:07 +0200 |
| commit | dc46dad972d745f6e06ecb3324c037aeee479360 (patch) | |
| tree | fbdf54d5231b53a2d7b25f3f23937005e4a4f44f /lib/dvb/tstools.h | |
| parent | 30861128f0afa56c412d9d43a7b3425484854b52 (diff) | |
| download | enigma2-dc46dad972d745f6e06ecb3324c037aeee479360.tar.gz enigma2-dc46dad972d745f6e06ecb3324c037aeee479360.zip | |
more accurate fast-forward/rewind
Diffstat (limited to 'lib/dvb/tstools.h')
| -rw-r--r-- | lib/dvb/tstools.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/dvb/tstools.h b/lib/dvb/tstools.h index a8e0751e..c230a341 100644 --- a/lib/dvb/tstools.h +++ b/lib/dvb/tstools.h @@ -56,7 +56,22 @@ public: int findPMT(int &pmt_pid, int &service_id); - int findIFrame(off_t &offset, size_t &len, int direction); + enum { + frametypeI = 1, + frametypeP = 2, + frametypeB = 4, + frametypeAll = frametypeI | frametypeP | frametypeB + }; + /** findFrame: finds a specific frame at a given position + + findFrame will look for the specified frame type starting at the given position, moving forward + (when direction is >0) or backward (when direction is <0). (direction=0 is a special case and also moves + forward, but starts with the last frame.) + + return values are the new offset, the length of the found frame (both unaligned), and the (signed) + number of frames skipped. */ + int findFrame(off_t &offset, size_t &len, int &direction, int frame_types = frametypeI); + int findNextPicture(off_t &offset, size_t &len, int &distance, int frame_types = frametypeAll); private: int m_pid; int m_maxrange; |
