summaryrefslogtreecommitdiff
path: root/firmware/export/kernel.h
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2011-04-27 03:08:23 +0000
committerMichael Sevakis <jethead71@rockbox.org>2011-04-27 03:08:23 +0000
commitc537d5958e8b421ac4f9bef6c8b9e7425a6cf167 (patch)
tree7ed36518fb6524da7bbd913ba7619b85b5d15d23 /firmware/export/kernel.h
parentdcf0f8de4a37ff1d2ea510aef75fa67977a8bdcc (diff)
downloadrockbox-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/kernel.h')
-rw-r--r--firmware/export/kernel.h10
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 */
250extern bool queue_empty(const struct event_queue* q); 251extern bool queue_empty(const struct event_queue* q);
251extern bool queue_peek(struct event_queue *q, struct queue_event *ev); 252extern 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 */
257extern bool queue_peek_ex(struct event_queue *q,
258 struct queue_event *ev,
259 unsigned int flags,
260 const long (*filters)[2]);
261
252extern void queue_clear(struct event_queue* q); 262extern void queue_clear(struct event_queue* q);
253extern void queue_remove_from_head(struct event_queue *q, long id); 263extern void queue_remove_from_head(struct event_queue *q, long id);
254extern int queue_count(const struct event_queue *q); 264extern int queue_count(const struct event_queue *q);