mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
voice: rename mp3_play_* functions to voice_play_*
Remove mp3_is_playing() entirely, in favor of pcm_is_playing() Remove mp3_play_pause() entirely, as it's a dummy/no-op call Remoce some archos-specific comments Change-Id: I4e9ff323490a93add00809efd19e0d4e3f198b2d
This commit is contained in:
parent
e404026308
commit
5d40d97585
7 changed files with 46 additions and 115 deletions
|
@ -596,9 +596,6 @@ static const struct plugin_api rockbox_api = {
|
||||||
#endif
|
#endif
|
||||||
#if defined (HAVE_PITCHCONTROL)
|
#if defined (HAVE_PITCHCONTROL)
|
||||||
sound_set_pitch,
|
sound_set_pitch,
|
||||||
#endif
|
|
||||||
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && defined(HAVE_DISK_STORAGE)
|
|
||||||
mp3_is_playing,
|
|
||||||
#endif
|
#endif
|
||||||
&audio_master_sampr_list[0],
|
&audio_master_sampr_list[0],
|
||||||
&hw_freq_sampr[0],
|
&hw_freq_sampr[0],
|
||||||
|
|
|
@ -155,12 +155,12 @@ int plugin_open(char *plugin, char *parameter);
|
||||||
#define PLUGIN_MAGIC 0x526F634B /* RocK */
|
#define PLUGIN_MAGIC 0x526F634B /* RocK */
|
||||||
|
|
||||||
/* increase this every time the api struct changes */
|
/* increase this every time the api struct changes */
|
||||||
#define PLUGIN_API_VERSION 240
|
#define PLUGIN_API_VERSION 241
|
||||||
|
|
||||||
/* update this to latest version if a change to the api struct breaks
|
/* update this to latest version if a change to the api struct breaks
|
||||||
backwards compatibility (and please take the opportunity to sort in any
|
backwards compatibility (and please take the opportunity to sort in any
|
||||||
new function which are "waiting" at the end of the function table) */
|
new function which are "waiting" at the end of the function table) */
|
||||||
#define PLUGIN_MIN_API_VERSION 239
|
#define PLUGIN_MIN_API_VERSION 241
|
||||||
|
|
||||||
/* 239 Marks the removal of ARCHOS HWCODEC and CHARCELL */
|
/* 239 Marks the removal of ARCHOS HWCODEC and CHARCELL */
|
||||||
|
|
||||||
|
@ -669,9 +669,6 @@ struct plugin_api {
|
||||||
#if defined (HAVE_PITCHCONTROL)
|
#if defined (HAVE_PITCHCONTROL)
|
||||||
void (*sound_set_pitch)(int32_t pitch);
|
void (*sound_set_pitch)(int32_t pitch);
|
||||||
#endif
|
#endif
|
||||||
#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && defined(HAVE_DISK_STORAGE)
|
|
||||||
bool (*mp3_is_playing)(void);
|
|
||||||
#endif /* PLATFORM_NATIVE */
|
|
||||||
const unsigned long *audio_master_sampr_list;
|
const unsigned long *audio_master_sampr_list;
|
||||||
const unsigned long *hw_freq_sampr;
|
const unsigned long *hw_freq_sampr;
|
||||||
void (*pcm_apply_settings)(void);
|
void (*pcm_apply_settings)(void);
|
||||||
|
@ -765,6 +762,7 @@ struct plugin_api {
|
||||||
#if defined(HAVE_TC_RAMCACHE) && defined(HAVE_DIRCACHE)
|
#if defined(HAVE_TC_RAMCACHE) && defined(HAVE_DIRCACHE)
|
||||||
bool (*tagcache_fill_tags)(struct mp3entry *id3, const char *filename);
|
bool (*tagcache_fill_tags)(struct mp3entry *id3, const char *filename);
|
||||||
#endif
|
#endif
|
||||||
|
struct tagcache_stat* (*tagcache_get_stat)(void);
|
||||||
#endif /* HAVE_TAGCACHE */
|
#endif /* HAVE_TAGCACHE */
|
||||||
|
|
||||||
#ifdef HAVE_ALBUMART
|
#ifdef HAVE_ALBUMART
|
||||||
|
@ -920,6 +918,7 @@ struct plugin_api {
|
||||||
void (*led)(bool on);
|
void (*led)(bool on);
|
||||||
|
|
||||||
/*plugin*/
|
/*plugin*/
|
||||||
|
int (*plugin_open)(char *path, char *parameter);
|
||||||
void* (*plugin_get_buffer)(size_t *buffer_size);
|
void* (*plugin_get_buffer)(size_t *buffer_size);
|
||||||
void* (*plugin_get_audio_buffer)(size_t *buffer_size);
|
void* (*plugin_get_audio_buffer)(size_t *buffer_size);
|
||||||
void (*plugin_release_audio_buffer)(void);
|
void (*plugin_release_audio_buffer)(void);
|
||||||
|
@ -929,15 +928,9 @@ struct plugin_api {
|
||||||
void (*audio_hard_stop)(void);
|
void (*audio_hard_stop)(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* new stuff at the end, sort into place next time
|
/* new stuff at the end, sort into place next time
|
||||||
the API gets incompatible */
|
the API gets incompatible */
|
||||||
|
|
||||||
#ifdef HAVE_TAGCACHE
|
|
||||||
struct tagcache_stat* (*tagcache_get_stat)(void);
|
|
||||||
#endif
|
|
||||||
int (*plugin_open)(char *path, char *parameter);
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* plugin header */
|
/* plugin header */
|
||||||
|
|
|
@ -326,7 +326,7 @@ static int show_menu(void) /* return 1 to quit */
|
||||||
/* slideshow times < 10s keep disk spinning */
|
/* slideshow times < 10s keep disk spinning */
|
||||||
rb->storage_spindown(0);
|
rb->storage_spindown(0);
|
||||||
}
|
}
|
||||||
else if (!rb->mp3_is_playing())
|
else if (!rb->pcm_is_playing())
|
||||||
{
|
{
|
||||||
/* slideshow times > 10s and not playing: ata_off after load */
|
/* slideshow times > 10s and not playing: ata_off after load */
|
||||||
iv_api.immediate_ata_off = true;
|
iv_api.immediate_ata_off = true;
|
||||||
|
|
26
apps/talk.c
26
apps/talk.c
|
@ -46,25 +46,6 @@
|
||||||
#include "panic.h"
|
#include "panic.h"
|
||||||
#include "misc.h" /* time_split_units() */
|
#include "misc.h" /* time_split_units() */
|
||||||
|
|
||||||
/* Memory layout varies between targets because the
|
|
||||||
Archos (MASCODEC) devices cannot mix voice and audio playback
|
|
||||||
|
|
||||||
MASCODEC | MASCODEC | SWCODEC
|
|
||||||
(playing) | (stopped) |
|
|
||||||
voicebuf-----------+-----------+------------
|
|
||||||
audio | voice | voice
|
|
||||||
|-----------|------------
|
|
||||||
| thumbnail | thumbnail
|
|
||||||
| |------------
|
|
||||||
| | filebuf
|
|
||||||
| |------------
|
|
||||||
| | audio
|
|
||||||
voicebufend----------+-----------+------------
|
|
||||||
|
|
||||||
SWCODEC allocates dedicated buffers (except voice and thumbnail are together
|
|
||||||
in the talkbuf), MASCODEC reuses audiobuf. */
|
|
||||||
|
|
||||||
|
|
||||||
/***************** Constants *****************/
|
/***************** Constants *****************/
|
||||||
|
|
||||||
#define QUEUE_SIZE 64 /* must be a power of two */
|
#define QUEUE_SIZE 64 /* must be a power of two */
|
||||||
|
@ -182,7 +163,7 @@ static inline bool check_audio_status(void)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ISR (mp3_callback()) must not run during moving of the clip buffer,
|
/* ISR (voice_callback()) must not run during moving of the clip buffer,
|
||||||
* because the MAS may get out-of-sync */
|
* because the MAS may get out-of-sync */
|
||||||
static void sync_callback(int handle, bool sync_on)
|
static void sync_callback(int handle, bool sync_on)
|
||||||
{
|
{
|
||||||
|
@ -735,7 +716,7 @@ static void mp3_callback(const void** start, size_t* size)
|
||||||
void talk_force_shutup(void)
|
void talk_force_shutup(void)
|
||||||
{
|
{
|
||||||
/* Had nothing to do (was frame boundary or not our clip) */
|
/* Had nothing to do (was frame boundary or not our clip) */
|
||||||
mp3_play_stop();
|
voice_play_stop();
|
||||||
talk_queue_lock();
|
talk_queue_lock();
|
||||||
queue_write = queue_read = 0; /* reset the queue */
|
queue_write = queue_read = 0; /* reset the queue */
|
||||||
thumbnail_buf_used = 0;
|
thumbnail_buf_used = 0;
|
||||||
|
@ -780,11 +761,10 @@ static void queue_clip(struct queue_entry *clip, bool enqueue)
|
||||||
size_t size;
|
size_t size;
|
||||||
void *buf = commit_transfer(qe, &size);
|
void *buf = commit_transfer(qe, &size);
|
||||||
last_clip = qe;
|
last_clip = qe;
|
||||||
mp3_play_data(buf, size, mp3_callback);
|
voice_play_data(buf, size, mp3_callback);
|
||||||
curr_hd[0] = commit_buffer[1];
|
curr_hd[0] = commit_buffer[1];
|
||||||
curr_hd[1] = commit_buffer[2];
|
curr_hd[1] = commit_buffer[2];
|
||||||
curr_hd[2] = commit_buffer[3];
|
curr_hd[2] = commit_buffer[3];
|
||||||
mp3_play_pause(true); /* kickoff audio */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
need_shutup = true;
|
need_shutup = true;
|
||||||
|
|
|
@ -121,7 +121,7 @@ enum voice_thread_messages
|
||||||
struct voice_info
|
struct voice_info
|
||||||
{
|
{
|
||||||
/* Callback to get more clips */
|
/* Callback to get more clips */
|
||||||
mp3_play_callback_t get_more;
|
voice_play_callback_t get_more;
|
||||||
/* Start of clip */
|
/* Start of clip */
|
||||||
const void *start;
|
const void *start;
|
||||||
/* Size of clip */
|
/* Size of clip */
|
||||||
|
@ -276,8 +276,8 @@ static void voice_buf_commit(int count)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Stop any current clip and start playing a new one */
|
/* Stop any current clip and start playing a new one */
|
||||||
void mp3_play_data(const void *start, size_t size,
|
void voice_play_data(const void *start, size_t size,
|
||||||
mp3_play_callback_t get_more)
|
voice_play_callback_t get_more)
|
||||||
{
|
{
|
||||||
if (voice_thread_id && start && size && get_more)
|
if (voice_thread_id && start && size && get_more)
|
||||||
{
|
{
|
||||||
|
@ -294,7 +294,7 @@ void mp3_play_data(const void *start, size_t size,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Stop current voice clip from playing */
|
/* Stop current voice clip from playing */
|
||||||
void mp3_play_stop(void)
|
void voice_play_stop(void)
|
||||||
{
|
{
|
||||||
if (voice_thread_id != 0)
|
if (voice_thread_id != 0)
|
||||||
{
|
{
|
||||||
|
@ -303,18 +303,6 @@ void mp3_play_stop(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void mp3_play_pause(bool play)
|
|
||||||
{
|
|
||||||
/* a dummy */
|
|
||||||
(void)play;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Tell if voice is still in a playing state */
|
|
||||||
bool mp3_is_playing(void)
|
|
||||||
{
|
|
||||||
return voice_playing;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* This function is meant to be used by the buffer request functions to
|
/* This function is meant to be used by the buffer request functions to
|
||||||
ensure the codec is no longer active */
|
ensure the codec is no longer active */
|
||||||
void voice_stop(void)
|
void voice_stop(void)
|
||||||
|
|
|
@ -23,16 +23,14 @@
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#ifndef MP3_PLAY_CALLBACK_DEFINED
|
#ifndef VOICE_PLAY_CALLBACK_DEFINED
|
||||||
#define MP3_PLAY_CALLBACK_DEFINED
|
#define VOICE_PLAY_CALLBACK_DEFINED
|
||||||
typedef void (*mp3_play_callback_t)(const void **start, size_t *size);
|
typedef void (*voice_play_callback_t)(const void **start, size_t *size);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void mp3_play_data(const void *start, size_t size,
|
void voice_play_data(const void *start, size_t size,
|
||||||
mp3_play_callback_t get_more);
|
voice_play_callback_t get_more);
|
||||||
void mp3_play_stop(void);
|
void voice_play_stop(void);
|
||||||
void mp3_play_pause(bool play);
|
|
||||||
bool mp3_is_playing(void);
|
|
||||||
|
|
||||||
void voice_wait(void);
|
void voice_wait(void);
|
||||||
void voice_stop(void);
|
void voice_stop(void);
|
||||||
|
|
|
@ -1368,31 +1368,6 @@ bool mp3info(struct mp3entry *entry, const char *filename)
|
||||||
\return FALSE if successfull
|
\return FALSE if successfull
|
||||||
\description The given =entry= is filled in with whatever id3 info it could find about the given =filename=
|
\description The given =entry= is filled in with whatever id3 info it could find about the given =filename=
|
||||||
|
|
||||||
bool mp3_is_playing(void)
|
|
||||||
\group sound
|
|
||||||
\conditions (!defined(SIMULATOR))
|
|
||||||
\return true if an mp3 is playing, else return false
|
|
||||||
\description Note: a paused mp3 is considered as a playing mp3
|
|
||||||
|
|
||||||
void mp3_play_data(const unsigned char* start, int size, void (*get_more)(unsigned char** start, size_t* size))
|
|
||||||
\group sound
|
|
||||||
\conditions (!defined(SIMULATOR))
|
|
||||||
\param start points to the begining of the file to play
|
|
||||||
\param size is the size to play
|
|
||||||
\param get_more is a callback function
|
|
||||||
\description Plays a chunk of an mp3 file
|
|
||||||
|
|
||||||
void mp3_play_pause(bool play)
|
|
||||||
\group sound
|
|
||||||
\conditions (!defined(SIMULATOR))
|
|
||||||
\param play
|
|
||||||
\description If playback was paused and =play= is TRUE, resume playback. If playback isn't paused and =play= is FALSE, pause playback.
|
|
||||||
|
|
||||||
void mp3_play_stop(void)
|
|
||||||
\group sound
|
|
||||||
\conditions (!defined(SIMULATOR))
|
|
||||||
\description Stops playback
|
|
||||||
|
|
||||||
void mutex_init(struct mutex *m)
|
void mutex_init(struct mutex *m)
|
||||||
\group kernel/ system
|
\group kernel/ system
|
||||||
\param m
|
\param m
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue