forked from len0rd/rockbox
MPEGPlayer: Add a second layer of caching to help speed up byte-wise scanning and seeking a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26088 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
caa4f54e42
commit
b197c3b0d6
5 changed files with 180 additions and 78 deletions
|
@ -28,6 +28,8 @@
|
|||
#define ALIGNED_ATTR(x) __attribute__((aligned(x)))
|
||||
#endif
|
||||
|
||||
#include "disk_buf.h"
|
||||
|
||||
/* Generic states for when things are too simple to care about naming them */
|
||||
enum state_enum
|
||||
{
|
||||
|
@ -158,11 +160,15 @@ struct stream_scan
|
|||
off_t dir; /* Direction - >= 0; forward, < 0 backward */
|
||||
ssize_t margin; /* Used by function to track margin between position and data end */
|
||||
intptr_t data; /* */
|
||||
struct dbuf_l2_cache l2;
|
||||
};
|
||||
|
||||
#define SSCAN_REVERSE (-1)
|
||||
#define SSCAN_FORWARD 1
|
||||
|
||||
/* Initializes the cursor */
|
||||
void stream_scan_init(struct stream_scan *sk);
|
||||
|
||||
/* Ensures direction is -1 or 1 and margin is properly initialized */
|
||||
void stream_scan_normalize(struct stream_scan *sk);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue