Make mpegplayer sleep the disk after buffering to save battery. * Add a simulator stub for ata_sleep(), and un-ifdef most calls to it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17096 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
4c5a735a02
commit
2bf4178018
6 changed files with 12 additions and 8 deletions
|
@ -813,11 +813,9 @@ static bool fill_buffer(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
#ifndef SIMULATOR
|
||||
/* only spin the disk down if the filling wasn't interrupted by an
|
||||
event arriving in the queue. */
|
||||
ata_sleep();
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -234,8 +234,8 @@ static const struct plugin_api rockbox_api = {
|
|||
fdprintf,
|
||||
read_line,
|
||||
settings_parseline,
|
||||
#ifndef SIMULATOR
|
||||
ata_sleep,
|
||||
#ifndef SIMULATOR
|
||||
ata_disk_is_active,
|
||||
#endif
|
||||
ata_spin,
|
||||
|
|
|
@ -120,12 +120,12 @@
|
|||
#define PLUGIN_MAGIC 0x526F634B /* RocK */
|
||||
|
||||
/* increase this every time the api struct changes */
|
||||
#define PLUGIN_API_VERSION 107
|
||||
#define PLUGIN_API_VERSION 108
|
||||
|
||||
/* update this to latest version if a change to the api struct breaks
|
||||
backwards compatibility (and please take the opportunity to sort in any
|
||||
new function which are "waiting" at the end of the function table) */
|
||||
#define PLUGIN_MIN_API_VERSION 107
|
||||
#define PLUGIN_MIN_API_VERSION 108
|
||||
|
||||
/* plugin return codes */
|
||||
enum plugin_status {
|
||||
|
@ -331,8 +331,8 @@ struct plugin_api {
|
|||
int (*fdprintf)(int fd, const char *fmt, ...) ATTRIBUTE_PRINTF(2, 3);
|
||||
int (*read_line)(int fd, char* buffer, int buffer_size);
|
||||
bool (*settings_parseline)(char* line, char** name, char** value);
|
||||
#ifndef SIMULATOR
|
||||
void (*ata_sleep)(void);
|
||||
#ifndef SIMULATOR
|
||||
bool (*ata_disk_is_active)(void);
|
||||
#endif
|
||||
void (*ata_spin)(void);
|
||||
|
|
|
@ -171,9 +171,7 @@ void load_settings(void){
|
|||
draw_message(display, MESSAGE_ERRLOAD, 1);
|
||||
display->update();
|
||||
}
|
||||
#ifndef SIMULATOR
|
||||
rb->ata_sleep();
|
||||
#endif
|
||||
rb->sleep(HZ);
|
||||
}
|
||||
|
||||
|
|
|
@ -169,6 +169,7 @@ static inline void disk_buf_buffer(void)
|
|||
if (!stream_get_window(&sw))
|
||||
{
|
||||
disk_buf.state = TSTATE_DATA;
|
||||
rb->ata_sleep();
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -183,6 +184,7 @@ static inline void disk_buf_buffer(void)
|
|||
/* Free space is less than one page */
|
||||
disk_buf.state = TSTATE_DATA;
|
||||
disk_buf.low_wm = DISK_BUF_LOW_WATERMARK;
|
||||
rb->ata_sleep();
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -204,6 +206,7 @@ static inline void disk_buf_buffer(void)
|
|||
{
|
||||
/* Error or end of stream */
|
||||
disk_buf.state = TSTATE_EOS;
|
||||
rb->ata_sleep();
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -108,6 +108,11 @@ void ata_spin(void)
|
|||
{
|
||||
}
|
||||
|
||||
void ata_sleep(void)
|
||||
{
|
||||
DEBUGF("ata_sleep()\n");
|
||||
}
|
||||
|
||||
void ata_spindown(int s)
|
||||
{
|
||||
(void)s;
|
||||
|
|
Loading…
Reference in a new issue