summaryrefslogtreecommitdiff
path: root/apps/codecs/lib
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/lib')
-rw-r--r--apps/codecs/lib/codeclib.c13
-rw-r--r--apps/codecs/lib/codeclib.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/apps/codecs/lib/codeclib.c b/apps/codecs/lib/codeclib.c
index 5af4e01fff..af0894c498 100644
--- a/apps/codecs/lib/codeclib.c
+++ b/apps/codecs/lib/codeclib.c
@@ -49,6 +49,19 @@ void codec_set_replaygain(struct mp3entry* id3)
49 ci->configure(DSP_SET_ALBUM_PEAK, id3->album_peak); 49 ci->configure(DSP_SET_ALBUM_PEAK, id3->album_peak);
50} 50}
51 51
52/* Note: codec really needs its own private metdata copy for the current
53 track being processed in order to be stable. */
54int codec_wait_taginfo(void)
55{
56 while (!*ci->taginfo_ready && !ci->stop_codec && !ci->new_track)
57 ci->sleep(0);
58 if (ci->stop_codec)
59 return -1;
60 if (ci->new_track)
61 return 1;
62 return 0;
63}
64
52/* Various "helper functions" common to all the xxx2wav decoder plugins */ 65/* Various "helper functions" common to all the xxx2wav decoder plugins */
53 66
54 67
diff --git a/apps/codecs/lib/codeclib.h b/apps/codecs/lib/codeclib.h
index b7685ebbcb..41b466ed1f 100644
--- a/apps/codecs/lib/codeclib.h
+++ b/apps/codecs/lib/codeclib.h
@@ -157,6 +157,7 @@ static inline unsigned int bs_generic(unsigned int v, int mode)
157 157
158int codec_init(void); 158int codec_init(void);
159void codec_set_replaygain(struct mp3entry* id3); 159void codec_set_replaygain(struct mp3entry* id3);
160int codec_wait_taginfo(void); /* 0 = success */
160 161
161#ifdef RB_PROFILE 162#ifdef RB_PROFILE
162void __cyg_profile_func_enter(void *this_fn, void *call_site) 163void __cyg_profile_func_enter(void *this_fn, void *call_site)