From a222f27c4a17ed8f9809cda7861fe5f23d4cc0c1 Mon Sep 17 00:00:00 2001 From: Michael Sevakis Date: Sat, 29 Dec 2007 19:46:35 +0000 Subject: mpegplayer: Make playback engine fully seekable and frame-accurate and split into logical parts. Be sure to have all current features work. Actual UI for seeking will be added soon. Recommended GOP size is about 15-30 frames depending on target or seeking can be slow with really long GOPs (nature of MPEG video). More refined encoding recommendations for a particular player should be posted soon. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15977 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugin.h | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'apps/plugin.h') diff --git a/apps/plugin.h b/apps/plugin.h index 1b12011c9a..5ac4aa7cc2 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -119,7 +119,7 @@ #define PLUGIN_MAGIC 0x526F634B /* RocK */ /* increase this every time the api struct changes */ -#define PLUGIN_API_VERSION 91 +#define PLUGIN_API_VERSION 92 /* update this to latest version if a change to the api struct breaks backwards compatibility (and please take the opportunity to sort in any @@ -648,7 +648,7 @@ struct plugin_api { void (*thread_wait)(struct thread_entry *thread); -#ifdef PROC_NEEDS_CACHEALIGN +#if (CONFIG_CODEC == SWCODEC) size_t (*align_buffer)(void **start, size_t size, size_t align); #endif @@ -697,6 +697,25 @@ struct plugin_api { bool (*search_albumart_files)(const struct mp3entry *id3, const char *size_string, char *buf, int buflen); #endif + +#if CONFIG_CODEC == SWCODEC + void (*pcm_play_lock)(void); + void (*pcm_play_unlock)(void); + void (*queue_enable_queue_send)(struct event_queue *q, + struct queue_sender_list *send); + bool (*queue_empty)(const struct event_queue *q); + void (*queue_wait)(struct event_queue *q, struct queue_event *ev); + intptr_t (*queue_send)(struct event_queue *q, long id, + intptr_t data); + void (*queue_reply)(struct event_queue *q, intptr_t retval); +#ifndef HAVE_FLASH_STORAGE + void (*ata_spin)(void); +#endif +#ifdef HAVE_SCHEDULER_BOOSTCTRL + void (*trigger_cpu_boost)(void); + void (*cancel_cpu_boost)(void); +#endif +#endif /* CONFIG_CODEC == SWCODEC */ }; /* plugin header */ -- cgit v1.2.3