diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2011-04-27 03:08:23 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2011-04-27 03:08:23 +0000 |
commit | c537d5958e8b421ac4f9bef6c8b9e7425a6cf167 (patch) | |
tree | 7ed36518fb6524da7bbd913ba7619b85b5d15d23 /firmware/export | |
parent | dcf0f8de4a37ff1d2ea510aef75fa67977a8bdcc (diff) | |
download | rockbox-c537d5958e8b421ac4f9bef6c8b9e7425a6cf167.tar.gz rockbox-c537d5958e8b421ac4f9bef6c8b9e7425a6cf167.zip |
Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/kernel.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/firmware/export/kernel.h b/firmware/export/kernel.h index 66efce33f6..54a53f3607 100644 --- a/firmware/export/kernel.h +++ b/firmware/export/kernel.h | |||
@@ -86,6 +86,7 @@ | |||
86 | #define SYS_VOLUME_CHANGED MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 5) | 86 | #define SYS_VOLUME_CHANGED MAKE_SYS_EVENT(SYS_EVENT_CLS_MISC, 5) |
87 | 87 | ||
88 | #define IS_SYSEVENT(ev) ((ev & SYS_EVENT) == SYS_EVENT) | 88 | #define IS_SYSEVENT(ev) ((ev & SYS_EVENT) == SYS_EVENT) |
89 | #define EVENT_RESERVED (~0) | ||
89 | 90 | ||
90 | #ifndef TIMEOUT_BLOCK | 91 | #ifndef TIMEOUT_BLOCK |
91 | #define TIMEOUT_BLOCK -1 | 92 | #define TIMEOUT_BLOCK -1 |
@@ -249,6 +250,15 @@ extern bool queue_in_queue_send(struct event_queue *q); | |||
249 | #endif /* HAVE_EXTENDED_MESSAGING_AND_NAME */ | 250 | #endif /* HAVE_EXTENDED_MESSAGING_AND_NAME */ |
250 | extern bool queue_empty(const struct event_queue* q); | 251 | extern bool queue_empty(const struct event_queue* q); |
251 | extern bool queue_peek(struct event_queue *q, struct queue_event *ev); | 252 | extern bool queue_peek(struct event_queue *q, struct queue_event *ev); |
253 | |||
254 | #define QPEEK_FILTER_COUNT_MASK (0xffu) /* 0x00=1 filter, 0xff=256 filters */ | ||
255 | #define QPEEK_FILTER_HEAD_ONLY (1u << 8) /* Ignored if no filters */ | ||
256 | #define QPEEK_REMOVE_EVENTS (1u << 9) /* Remove or discard events */ | ||
257 | extern bool queue_peek_ex(struct event_queue *q, | ||
258 | struct queue_event *ev, | ||
259 | unsigned int flags, | ||
260 | const long (*filters)[2]); | ||
261 | |||
252 | extern void queue_clear(struct event_queue* q); | 262 | extern void queue_clear(struct event_queue* q); |
253 | extern void queue_remove_from_head(struct event_queue *q, long id); | 263 | extern void queue_remove_from_head(struct event_queue *q, long id); |
254 | extern int queue_count(const struct event_queue *q); | 264 | extern int queue_count(const struct event_queue *q); |