summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/rbcodec/codecs/codecs.h6
-rw-r--r--lib/rbcodec/codecs/lib/codeclib.h4
-rw-r--r--lib/rbcodec/codecs/lib/ffmpeg_bswap.h32
-rw-r--r--lib/rbcodec/codecs/lib/ffmpeg_get_bits.h9
-rw-r--r--lib/rbcodec/codecs/libffmpegFLAC/bitstream.h3
-rw-r--r--lib/rbcodec/codecs/libmad/frame.c1
-rw-r--r--lib/rbcodec/codecs/libmad/frame.h1
-rw-r--r--lib/rbcodec/codecs/libmad/libmad.make2
-rw-r--r--lib/rbcodec/codecs/libmusepack/mpcdec.h2
-rw-r--r--lib/rbcodec/codecs/libspeex/filters.c2
-rw-r--r--lib/rbcodec/codecs/libspeex/lsp.c2
-rw-r--r--lib/rbcodec/codecs/libspeex/ltp.c2
-rw-r--r--lib/rbcodec/codecs/libspeex/modes.c2
-rw-r--r--lib/rbcodec/codecs/libspeex/modes_wb.c2
-rw-r--r--lib/rbcodec/codecs/libspeex/nb_celp.c2
-rw-r--r--lib/rbcodec/codecs/libspeex/quant_lsp.c2
-rw-r--r--lib/rbcodec/codecs/libspeex/sb_celp.c2
-rw-r--r--lib/rbcodec/codecs/libspeex/speex.c2
-rw-r--r--lib/rbcodec/codecs/libspeex/stereo.c2
-rw-r--r--lib/rbcodec/codecs/libtremor/vorbisfile.c1
-rw-r--r--lib/rbcodec/codecs/libwavpack/bits.c1
-rw-r--r--lib/rbcodec/metadata/a52.c2
-rw-r--r--lib/rbcodec/metadata/adx.c2
-rw-r--r--lib/rbcodec/metadata/aiff.c2
-rw-r--r--lib/rbcodec/metadata/ape.c1
-rw-r--r--lib/rbcodec/metadata/asap.c4
-rw-r--r--lib/rbcodec/metadata/asf.c2
-rw-r--r--lib/rbcodec/metadata/au.c2
-rw-r--r--lib/rbcodec/metadata/ay.c2
-rw-r--r--lib/rbcodec/metadata/flac.c2
-rw-r--r--lib/rbcodec/metadata/gbs.c2
-rw-r--r--lib/rbcodec/metadata/hes.c2
-rw-r--r--lib/rbcodec/metadata/id3tags.c4
-rw-r--r--lib/rbcodec/metadata/kss.c2
-rw-r--r--lib/rbcodec/metadata/metadata.c2
-rw-r--r--lib/rbcodec/metadata/metadata.h5
-rw-r--r--lib/rbcodec/metadata/metadata_common.c2
-rw-r--r--lib/rbcodec/metadata/mod.c2
-rw-r--r--lib/rbcodec/metadata/monkeys.c2
-rw-r--r--lib/rbcodec/metadata/mp3.c3
-rw-r--r--lib/rbcodec/metadata/mp3data.c3
-rw-r--r--lib/rbcodec/metadata/mp4.c2
-rw-r--r--lib/rbcodec/metadata/mpc.c2
-rw-r--r--lib/rbcodec/metadata/nsf.c2
-rw-r--r--lib/rbcodec/metadata/ogg.c4
-rw-r--r--lib/rbcodec/metadata/oma.c1
-rw-r--r--lib/rbcodec/metadata/replaygain.c2
-rw-r--r--lib/rbcodec/metadata/rm.c2
-rw-r--r--lib/rbcodec/metadata/sgc.c2
-rw-r--r--lib/rbcodec/metadata/sid.c2
-rw-r--r--lib/rbcodec/metadata/smaf.c2
-rw-r--r--lib/rbcodec/metadata/spc.c2
-rw-r--r--lib/rbcodec/metadata/tta.c2
-rw-r--r--lib/rbcodec/metadata/vgm.c2
-rw-r--r--lib/rbcodec/metadata/vorbis.c3
-rw-r--r--lib/rbcodec/metadata/vox.c2
-rw-r--r--lib/rbcodec/metadata/wave.c2
-rw-r--r--lib/rbcodec/metadata/wavpack.c2
-rw-r--r--lib/rbcodec/platform.h122
-rw-r--r--lib/rbcodec/rbcodec.make3
-rw-r--r--lib/rbcodec/rbcodecconfig-example.h32
-rw-r--r--lib/rbcodec/rbcodecplatform-unix.h77
-rw-r--r--lib/rbcodec/test/rbcodecconfig.h2
-rw-r--r--lib/rbcodec/test/rbcodecplatform.h2
-rw-r--r--lib/rbcodec/test/warble.c30
-rw-r--r--lib/rbcodec/test/warble.make16
66 files changed, 370 insertions, 80 deletions
diff --git a/lib/rbcodec/codecs/codecs.h b/lib/rbcodec/codecs/codecs.h
index 91ce8698ab..03167f55bf 100644
--- a/lib/rbcodec/codecs/codecs.h
+++ b/lib/rbcodec/codecs/codecs.h
@@ -27,11 +27,7 @@
27#define NO_REDEFINES_PLEASE 27#define NO_REDEFINES_PLEASE
28#endif 28#endif
29 29
30#include <stdbool.h> 30#include "rbcodecconfig.h"
31#include <stdlib.h>
32#include "strlcpy.h"
33#include "config.h"
34#include "system.h"
35#include "metadata.h" 31#include "metadata.h"
36#include "audio.h" 32#include "audio.h"
37#ifdef RB_PROFILE 33#ifdef RB_PROFILE
diff --git a/lib/rbcodec/codecs/lib/codeclib.h b/lib/rbcodec/codecs/lib/codeclib.h
index d0f985b8e1..18c1043b8c 100644
--- a/lib/rbcodec/codecs/lib/codeclib.h
+++ b/lib/rbcodec/codecs/lib/codeclib.h
@@ -22,9 +22,7 @@
22#ifndef __CODECLIB_H__ 22#ifndef __CODECLIB_H__
23#define __CODECLIB_H__ 23#define __CODECLIB_H__
24 24
25#include <inttypes.h> 25#include "platform.h"
26#include <string.h>
27#include "config.h"
28#include "codecs.h" 26#include "codecs.h"
29#include "mdct.h" 27#include "mdct.h"
30#include "fft.h" 28#include "fft.h"
diff --git a/lib/rbcodec/codecs/lib/ffmpeg_bswap.h b/lib/rbcodec/codecs/lib/ffmpeg_bswap.h
index 24a2aab7ea..70176db215 100644
--- a/lib/rbcodec/codecs/lib/ffmpeg_bswap.h
+++ b/lib/rbcodec/codecs/lib/ffmpeg_bswap.h
@@ -6,6 +6,32 @@
6#ifndef __BSWAP_H__ 6#ifndef __BSWAP_H__
7#define __BSWAP_H__ 7#define __BSWAP_H__
8 8
9#include "platform.h"
10
11#ifndef bswap_16
12#define bswap_16(x) swap16(x)
13#endif
14#ifndef bswap_32
15#define bswap_32(x) swap32(x)
16#endif
17
18#ifndef bswap_64
19static inline uint64_t ByteSwap64(uint64_t x)
20{
21 union {
22 uint64_t ll;
23 struct {
24 uint32_t l,h;
25 } l;
26 } r;
27 r.l.l = bswap_32 (x);
28 r.l.h = bswap_32 (x>>32);
29 return r.ll;
30}
31#define bswap_64(x) ByteSwap64(x)
32#endif
33
34#if 0
9#ifdef HAVE_BYTESWAP_H 35#ifdef HAVE_BYTESWAP_H
10#include <byteswap.h> 36#include <byteswap.h>
11#else 37#else
@@ -13,9 +39,7 @@
13#ifdef ROCKBOX 39#ifdef ROCKBOX
14#include "codecs.h" 40#include "codecs.h"
15 41
16/* rockbox' optimised inline functions */ 42
17#define bswap_16(x) swap16(x)
18#define bswap_32(x) swap32(x)
19 43
20static inline uint64_t ByteSwap64(uint64_t x) 44static inline uint64_t ByteSwap64(uint64_t x)
21{ 45{
@@ -127,7 +151,7 @@ static inline uint64_t ByteSwap64(uint64_t x)
127#endif /* !ARCH_X86 */ 151#endif /* !ARCH_X86 */
128 152
129#endif /* !HAVE_BYTESWAP_H */ 153#endif /* !HAVE_BYTESWAP_H */
130 154#endif
131// be2me ... BigEndian to MachineEndian 155// be2me ... BigEndian to MachineEndian
132// le2me ... LittleEndian to MachineEndian 156// le2me ... LittleEndian to MachineEndian
133 157
diff --git a/lib/rbcodec/codecs/lib/ffmpeg_get_bits.h b/lib/rbcodec/codecs/lib/ffmpeg_get_bits.h
index 04eda021a7..e6f80ff45c 100644
--- a/lib/rbcodec/codecs/lib/ffmpeg_get_bits.h
+++ b/lib/rbcodec/codecs/lib/ffmpeg_get_bits.h
@@ -26,8 +26,9 @@
26#ifndef AVCODEC_GET_BITS_H 26#ifndef AVCODEC_GET_BITS_H
27#define AVCODEC_GET_BITS_H 27#define AVCODEC_GET_BITS_H
28 28
29#include <stdint.h> 29//#include <stdint.h>
30#include <stdlib.h> 30//#include <stdlib.h>
31#include "platform.h"
31#include "ffmpeg_intreadwrite.h" 32#include "ffmpeg_intreadwrite.h"
32//#include <assert.h> 33//#include <assert.h>
33//#include "libavutil/bswap.h" 34//#include "libavutil/bswap.h"
@@ -39,8 +40,12 @@
39#include "codecs.h" 40#include "codecs.h"
40 41
41/* rockbox' optimised inline functions */ 42/* rockbox' optimised inline functions */
43#ifndef bswap_16
42#define bswap_16(x) swap16(x) 44#define bswap_16(x) swap16(x)
45#endif
46#ifndef bswap_32
43#define bswap_32(x) swap32(x) 47#define bswap_32(x) swap32(x)
48#endif
44 49
45#ifdef ROCKBOX_BIG_ENDIAN 50#ifdef ROCKBOX_BIG_ENDIAN
46#define be2me_16(x) (x) 51#define be2me_16(x) (x)
diff --git a/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h b/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h
index 5fc3460c8e..2ec54c42fa 100644
--- a/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h
+++ b/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h
@@ -10,8 +10,7 @@
10#include "ffmpeg_get_bits.h" 10#include "ffmpeg_get_bits.h"
11 11
12#ifndef BUILD_STANDALONE 12#ifndef BUILD_STANDALONE
13 #include <config.h> 13 #include "platform.h"
14 #include <system.h>
15#else 14#else
16 #include <stdio.h> 15 #include <stdio.h>
17 #define IBSS_ATTR 16 #define IBSS_ATTR
diff --git a/lib/rbcodec/codecs/libmad/frame.c b/lib/rbcodec/codecs/libmad/frame.c
index f17306285c..c1cc10396b 100644
--- a/lib/rbcodec/codecs/libmad/frame.c
+++ b/lib/rbcodec/codecs/libmad/frame.c
@@ -28,7 +28,6 @@
28# include "bit.h" 28# include "bit.h"
29# include "stream.h" 29# include "stream.h"
30# include "frame.h" 30# include "frame.h"
31# include "timer.h"
32# include "layer12.h" 31# include "layer12.h"
33# include "layer3.h" 32# include "layer3.h"
34# include "codeclib.h" 33# include "codeclib.h"
diff --git a/lib/rbcodec/codecs/libmad/frame.h b/lib/rbcodec/codecs/libmad/frame.h
index b1c6e0289d..a8eb2b51f9 100644
--- a/lib/rbcodec/codecs/libmad/frame.h
+++ b/lib/rbcodec/codecs/libmad/frame.h
@@ -23,7 +23,6 @@
23# define LIBMAD_FRAME_H 23# define LIBMAD_FRAME_H
24 24
25# include "fixed.h" 25# include "fixed.h"
26# include "timer.h"
27# include "stream.h" 26# include "stream.h"
28 27
29enum mad_layer { 28enum mad_layer {
diff --git a/lib/rbcodec/codecs/libmad/libmad.make b/lib/rbcodec/codecs/libmad/libmad.make
index 2a8c7b220f..16b2bd76a9 100644
--- a/lib/rbcodec/codecs/libmad/libmad.make
+++ b/lib/rbcodec/codecs/libmad/libmad.make
@@ -13,7 +13,7 @@
13 13
14# Extract optimization level ('-O') from compile flags. Will be set later. 14# Extract optimization level ('-O') from compile flags. Will be set later.
15MADFLAGS = $(filter-out -O%,$(CODECFLAGS)) -I$(RBCODECLIB_DIR)/codecs/libmad 15MADFLAGS = $(filter-out -O%,$(CODECFLAGS)) -I$(RBCODECLIB_DIR)/codecs/libmad
16MADFLAGS += -UDEBUG -DNDEBUG -DHAVE_LIMITS_H 16MADFLAGS += -UDEBUG -DNDEBUG -DHAVE_LIMITS_H -DHAVE_ASSERT_H
17 17
18# libmad is faster on ARM-targets with -O1 than -O2 18# libmad is faster on ARM-targets with -O1 than -O2
19ifeq ($(ARCH),arch_arm) 19ifeq ($(ARCH),arch_arm)
diff --git a/lib/rbcodec/codecs/libmusepack/mpcdec.h b/lib/rbcodec/codecs/libmusepack/mpcdec.h
index 85536e726a..02003cb01b 100644
--- a/lib/rbcodec/codecs/libmusepack/mpcdec.h
+++ b/lib/rbcodec/codecs/libmusepack/mpcdec.h
@@ -39,9 +39,9 @@
39#pragma once 39#pragma once
40#endif 40#endif
41 41
42#include "platform.h"
42#include "reader.h" 43#include "reader.h"
43#include "streaminfo.h" 44#include "streaminfo.h"
44#include "config.h"
45 45
46#ifdef __cplusplus 46#ifdef __cplusplus
47extern "C" { 47extern "C" {
diff --git a/lib/rbcodec/codecs/libspeex/filters.c b/lib/rbcodec/codecs/libspeex/filters.c
index 09f93c2a59..7c4c90a636 100644
--- a/lib/rbcodec/codecs/libspeex/filters.c
+++ b/lib/rbcodec/codecs/libspeex/filters.c
@@ -39,7 +39,9 @@
39#include "arch.h" 39#include "arch.h"
40#include "math_approx.h" 40#include "math_approx.h"
41#include "ltp.h" 41#include "ltp.h"
42#ifndef FIXED_POINT
42#include <math.h> 43#include <math.h>
44#endif
43 45
44#ifdef _USE_SSE 46#ifdef _USE_SSE
45#include "filters_sse.h" 47#include "filters_sse.h"
diff --git a/lib/rbcodec/codecs/libspeex/lsp.c b/lib/rbcodec/codecs/libspeex/lsp.c
index 8408d782aa..83365a8639 100644
--- a/lib/rbcodec/codecs/libspeex/lsp.c
+++ b/lib/rbcodec/codecs/libspeex/lsp.c
@@ -83,7 +83,9 @@ Heavily modified by Jean-Marc Valin (c) 2002-2006 (fixed-point,
83#include "config-speex.h" 83#include "config-speex.h"
84#endif 84#endif
85 85
86#ifndef FIXED_POINT
86#include <math.h> 87#include <math.h>
88#endif
87#include "lsp.h" 89#include "lsp.h"
88#include "stack_alloc.h" 90#include "stack_alloc.h"
89#include "math_approx.h" 91#include "math_approx.h"
diff --git a/lib/rbcodec/codecs/libspeex/ltp.c b/lib/rbcodec/codecs/libspeex/ltp.c
index 9f10bc09d8..c81e8eb2f3 100644
--- a/lib/rbcodec/codecs/libspeex/ltp.c
+++ b/lib/rbcodec/codecs/libspeex/ltp.c
@@ -34,7 +34,9 @@
34#include "config-speex.h" 34#include "config-speex.h"
35#endif 35#endif
36 36
37#ifndef FIXED_POINT
37#include <math.h> 38#include <math.h>
39#endif
38#include "ltp.h" 40#include "ltp.h"
39#include "stack_alloc.h" 41#include "stack_alloc.h"
40#include "filters.h" 42#include "filters.h"
diff --git a/lib/rbcodec/codecs/libspeex/modes.c b/lib/rbcodec/codecs/libspeex/modes.c
index d1046f1cfb..a58c0786dd 100644
--- a/lib/rbcodec/codecs/libspeex/modes.c
+++ b/lib/rbcodec/codecs/libspeex/modes.c
@@ -44,7 +44,9 @@
44#include "nb_celp.h" 44#include "nb_celp.h"
45#include "vbr.h" 45#include "vbr.h"
46#include "arch.h" 46#include "arch.h"
47#ifndef FIXED_POINT
47#include <math.h> 48#include <math.h>
49#endif
48 50
49#ifndef NULL 51#ifndef NULL
50#define NULL 0 52#define NULL 0
diff --git a/lib/rbcodec/codecs/libspeex/modes_wb.c b/lib/rbcodec/codecs/libspeex/modes_wb.c
index 93922afa2f..4055a2b074 100644
--- a/lib/rbcodec/codecs/libspeex/modes_wb.c
+++ b/lib/rbcodec/codecs/libspeex/modes_wb.c
@@ -44,7 +44,9 @@
44#include "nb_celp.h" 44#include "nb_celp.h"
45#include "vbr.h" 45#include "vbr.h"
46#include "arch.h" 46#include "arch.h"
47#ifndef FIXED_POINT
47#include <math.h> 48#include <math.h>
49#endif
48#include "os_support.h" 50#include "os_support.h"
49 51
50 52
diff --git a/lib/rbcodec/codecs/libspeex/nb_celp.c b/lib/rbcodec/codecs/libspeex/nb_celp.c
index 364f987472..a385500f90 100644
--- a/lib/rbcodec/codecs/libspeex/nb_celp.c
+++ b/lib/rbcodec/codecs/libspeex/nb_celp.c
@@ -33,7 +33,9 @@
33#include "config-speex.h" 33#include "config-speex.h"
34#endif 34#endif
35 35
36#ifndef FIXED_POINT
36#include <math.h> 37#include <math.h>
38#endif
37#include "nb_celp.h" 39#include "nb_celp.h"
38#include "lpc.h" 40#include "lpc.h"
39#include "lsp.h" 41#include "lsp.h"
diff --git a/lib/rbcodec/codecs/libspeex/quant_lsp.c b/lib/rbcodec/codecs/libspeex/quant_lsp.c
index 9b9104c842..c79942cd59 100644
--- a/lib/rbcodec/codecs/libspeex/quant_lsp.c
+++ b/lib/rbcodec/codecs/libspeex/quant_lsp.c
@@ -36,7 +36,9 @@
36 36
37#include "quant_lsp.h" 37#include "quant_lsp.h"
38#include "os_support.h" 38#include "os_support.h"
39#ifndef FIXED_POINT
39#include <math.h> 40#include <math.h>
41#endif
40#ifndef M_PI 42#ifndef M_PI
41#define M_PI 3.14159265358979323846 43#define M_PI 3.14159265358979323846
42#endif 44#endif
diff --git a/lib/rbcodec/codecs/libspeex/sb_celp.c b/lib/rbcodec/codecs/libspeex/sb_celp.c
index b28744812f..45c8417022 100644
--- a/lib/rbcodec/codecs/libspeex/sb_celp.c
+++ b/lib/rbcodec/codecs/libspeex/sb_celp.c
@@ -33,7 +33,9 @@
33#include "config-speex.h" 33#include "config-speex.h"
34#endif 34#endif
35 35
36#ifndef FIXED_POINT
36#include <math.h> 37#include <math.h>
38#endif
37#include "sb_celp.h" 39#include "sb_celp.h"
38#include "filters.h" 40#include "filters.h"
39#include "lpc.h" 41#include "lpc.h"
diff --git a/lib/rbcodec/codecs/libspeex/speex.c b/lib/rbcodec/codecs/libspeex/speex.c
index 0dcfb3f7f6..92e41f52ae 100644
--- a/lib/rbcodec/codecs/libspeex/speex.c
+++ b/lib/rbcodec/codecs/libspeex/speex.c
@@ -37,7 +37,9 @@
37#endif 37#endif
38 38
39#include "modes.h" 39#include "modes.h"
40#ifndef FIXED_POINT
40#include <math.h> 41#include <math.h>
42#endif
41#include "os_support.h" 43#include "os_support.h"
42 44
43#ifndef NULL 45#ifndef NULL
diff --git a/lib/rbcodec/codecs/libspeex/stereo.c b/lib/rbcodec/codecs/libspeex/stereo.c
index 652d2a6e90..0aca1050fa 100644
--- a/lib/rbcodec/codecs/libspeex/stereo.c
+++ b/lib/rbcodec/codecs/libspeex/stereo.c
@@ -37,7 +37,9 @@
37#include "speex/speex_callbacks.h" 37#include "speex/speex_callbacks.h"
38#include "math_approx.h" 38#include "math_approx.h"
39#include "vq.h" 39#include "vq.h"
40#ifndef FIXED_POINT
40#include <math.h> 41#include <math.h>
42#endif
41#include "os_support.h" 43#include "os_support.h"
42 44
43typedef struct RealSpeexStereoState { 45typedef struct RealSpeexStereoState {
diff --git a/lib/rbcodec/codecs/libtremor/vorbisfile.c b/lib/rbcodec/codecs/libtremor/vorbisfile.c
index 271e5a09e3..688a864077 100644
--- a/lib/rbcodec/codecs/libtremor/vorbisfile.c
+++ b/lib/rbcodec/codecs/libtremor/vorbisfile.c
@@ -21,7 +21,6 @@
21#include <errno.h> 21#include <errno.h>
22#include <string.h> 22#include <string.h>
23#include <math.h> 23#include <math.h>
24#include "system.h"
25 24
26#include "ivorbiscodec.h" 25#include "ivorbiscodec.h"
27#include "ivorbisfile.h" 26#include "ivorbisfile.h"
diff --git a/lib/rbcodec/codecs/libwavpack/bits.c b/lib/rbcodec/codecs/libwavpack/bits.c
index 0f0e79c292..6d81b22773 100644
--- a/lib/rbcodec/codecs/libwavpack/bits.c
+++ b/lib/rbcodec/codecs/libwavpack/bits.c
@@ -15,7 +15,6 @@
15// the malloc() system is provided. 15// the malloc() system is provided.
16 16
17#include "wavpack.h" 17#include "wavpack.h"
18#include "system.h"
19 18
20#include <string.h> 19#include <string.h>
21 20
diff --git a/lib/rbcodec/metadata/a52.c b/lib/rbcodec/metadata/a52.c
index a8aad3fa4f..ddd8310cf1 100644
--- a/lib/rbcodec/metadata/a52.c
+++ b/lib/rbcodec/metadata/a52.c
@@ -22,8 +22,8 @@
22#include <stdio.h> 22#include <stdio.h>
23#include "metadata.h" 23#include "metadata.h"
24#include "logf.h" 24#include "logf.h"
25
26#include "metadata_parsers.h" 25#include "metadata_parsers.h"
26#include "platform.h"
27 27
28static const unsigned short a52_bitrates[] = 28static const unsigned short a52_bitrates[] =
29{ 29{
diff --git a/lib/rbcodec/metadata/adx.c b/lib/rbcodec/metadata/adx.c
index 7c341b4835..6250ed176c 100644
--- a/lib/rbcodec/metadata/adx.c
+++ b/lib/rbcodec/metadata/adx.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/aiff.c b/lib/rbcodec/metadata/aiff.c
index 654f37cf98..6349335561 100644
--- a/lib/rbcodec/metadata/aiff.c
+++ b/lib/rbcodec/metadata/aiff.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/ape.c b/lib/rbcodec/metadata/ape.c
index 0bd2477431..ba0ad1598f 100644
--- a/lib/rbcodec/metadata/ape.c
+++ b/lib/rbcodec/metadata/ape.c
@@ -24,7 +24,6 @@
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26 26
27#include "system.h"
28#include "metadata.h" 27#include "metadata.h"
29#include "metadata_common.h" 28#include "metadata_common.h"
30#include "metadata_parsers.h" 29#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/asap.c b/lib/rbcodec/metadata/asap.c
index 9e7f227031..94e4dfce58 100644
--- a/lib/rbcodec/metadata/asap.c
+++ b/lib/rbcodec/metadata/asap.c
@@ -24,13 +24,13 @@
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26 26
27#include "system.h" 27
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
31#include "rbunicode.h" 31#include "rbunicode.h"
32#include "debug.h" 32#include "debug.h"
33 33#include "platform.h"
34#define MAX_SONGS 32 34#define MAX_SONGS 32
35 35
36static bool parse_dec(int *retval, const char *p, int minval, int maxval) 36static bool parse_dec(int *retval, const char *p, int minval, int maxval)
diff --git a/lib/rbcodec/metadata/asf.c b/lib/rbcodec/metadata/asf.c
index b815c09769..b88b8e77fe 100644
--- a/lib/rbcodec/metadata/asf.c
+++ b/lib/rbcodec/metadata/asf.c
@@ -24,6 +24,7 @@
24#include <stdlib.h> 24#include <stdlib.h>
25#include <ctype.h> 25#include <ctype.h>
26#include <inttypes.h> 26#include <inttypes.h>
27#include "platform.h"
27 28
28#include "metadata.h" 29#include "metadata.h"
29#include "replaygain.h" 30#include "replaygain.h"
@@ -31,7 +32,6 @@
31#include "rbunicode.h" 32#include "rbunicode.h"
32#include "metadata_common.h" 33#include "metadata_common.h"
33#include "metadata_parsers.h" 34#include "metadata_parsers.h"
34#include "system.h"
35#include <codecs/libasf/asf.h> 35#include <codecs/libasf/asf.h>
36 36
37/* TODO: Just read the GUIDs into a 16-byte array, and use memcmp to compare */ 37/* TODO: Just read the GUIDs into a 16-byte array, and use memcmp to compare */
diff --git a/lib/rbcodec/metadata/au.c b/lib/rbcodec/metadata/au.c
index 94e7453644..07f354571e 100644
--- a/lib/rbcodec/metadata/au.c
+++ b/lib/rbcodec/metadata/au.c
@@ -21,8 +21,8 @@
21#include <stdio.h> 21#include <stdio.h>
22#include <string.h> 22#include <string.h>
23#include <inttypes.h> 23#include <inttypes.h>
24#include "platform.h"
24 25
25#include "system.h"
26#include "metadata.h" 26#include "metadata.h"
27#include "metadata_common.h" 27#include "metadata_common.h"
28#include "metadata_parsers.h" 28#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/ay.c b/lib/rbcodec/metadata/ay.c
index 5d00264b3d..4230b44da0 100644
--- a/lib/rbcodec/metadata/ay.c
+++ b/lib/rbcodec/metadata/ay.c
@@ -3,8 +3,8 @@
3#include <stdlib.h> 3#include <stdlib.h>
4#include <ctype.h> 4#include <ctype.h>
5#include <inttypes.h> 5#include <inttypes.h>
6#include "platform.h"
6 7
7#include "system.h"
8#include "metadata.h" 8#include "metadata.h"
9#include "metadata_common.h" 9#include "metadata_common.h"
10#include "metadata_parsers.h" 10#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/flac.c b/lib/rbcodec/metadata/flac.c
index 29937173fd..a8be4c6de4 100644
--- a/lib/rbcodec/metadata/flac.c
+++ b/lib/rbcodec/metadata/flac.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/gbs.c b/lib/rbcodec/metadata/gbs.c
index 68f2b2a393..9b02952e47 100644
--- a/lib/rbcodec/metadata/gbs.c
+++ b/lib/rbcodec/metadata/gbs.c
@@ -3,8 +3,8 @@
3#include <stdlib.h> 3#include <stdlib.h>
4#include <ctype.h> 4#include <ctype.h>
5#include <inttypes.h> 5#include <inttypes.h>
6#include "platform.h"
6 7
7#include "system.h"
8#include "metadata.h" 8#include "metadata.h"
9#include "metadata_common.h" 9#include "metadata_common.h"
10#include "metadata_parsers.h" 10#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/hes.c b/lib/rbcodec/metadata/hes.c
index 6d99d523cb..87398461d7 100644
--- a/lib/rbcodec/metadata/hes.c
+++ b/lib/rbcodec/metadata/hes.c
@@ -3,8 +3,8 @@
3#include <stdlib.h> 3#include <stdlib.h>
4#include <ctype.h> 4#include <ctype.h>
5#include <inttypes.h> 5#include <inttypes.h>
6#include "platform.h"
6 7
7#include "system.h"
8#include "metadata.h" 8#include "metadata.h"
9#include "metadata_common.h" 9#include "metadata_common.h"
10#include "metadata_parsers.h" 10#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/id3tags.c b/lib/rbcodec/metadata/id3tags.c
index 2dd1c662ed..0e27c0305b 100644
--- a/lib/rbcodec/metadata/id3tags.c
+++ b/lib/rbcodec/metadata/id3tags.c
@@ -35,11 +35,9 @@
35#include <stdbool.h> 35#include <stdbool.h>
36#include <stddef.h> 36#include <stddef.h>
37#include <ctype.h> 37#include <ctype.h>
38#include "platform.h"
38#include "string-extra.h" 39#include "string-extra.h"
39#include "config.h"
40#include "file.h"
41#include "logf.h" 40#include "logf.h"
42#include "system.h"
43#include "replaygain.h" 41#include "replaygain.h"
44#include "rbunicode.h" 42#include "rbunicode.h"
45 43
diff --git a/lib/rbcodec/metadata/kss.c b/lib/rbcodec/metadata/kss.c
index 2ae0cf50b0..195e8be38d 100644
--- a/lib/rbcodec/metadata/kss.c
+++ b/lib/rbcodec/metadata/kss.c
@@ -3,8 +3,8 @@
3#include <stdlib.h> 3#include <stdlib.h>
4#include <ctype.h> 4#include <ctype.h>
5#include <inttypes.h> 5#include <inttypes.h>
6#include "platform.h"
6 7
7#include "system.h"
8#include "metadata.h" 8#include "metadata.h"
9#include "metadata_common.h" 9#include "metadata_common.h"
10#include "metadata_parsers.h" 10#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/metadata.c b/lib/rbcodec/metadata/metadata.c
index 3fe9860441..668ece97cf 100644
--- a/lib/rbcodec/metadata/metadata.c
+++ b/lib/rbcodec/metadata/metadata.c
@@ -22,7 +22,7 @@
22#include <stdlib.h> 22#include <stdlib.h>
23#include <ctype.h> 23#include <ctype.h>
24#include "string-extra.h" 24#include "string-extra.h"
25 25#include "platform.h"
26#include "debug.h" 26#include "debug.h"
27#include "logf.h" 27#include "logf.h"
28#include "cuesheet.h" 28#include "cuesheet.h"
diff --git a/lib/rbcodec/metadata/metadata.h b/lib/rbcodec/metadata/metadata.h
index 6d711aff28..4b4a8337fb 100644
--- a/lib/rbcodec/metadata/metadata.h
+++ b/lib/rbcodec/metadata/metadata.h
@@ -22,10 +22,7 @@
22#ifndef _METADATA_H 22#ifndef _METADATA_H
23#define _METADATA_H 23#define _METADATA_H
24 24
25#include <stdbool.h> 25#include "platform.h"
26#include "config.h"
27#include "file.h"
28
29 26
30/* Audio file types. */ 27/* Audio file types. */
31/* NOTE: The values of the AFMT_* items are used for the %fc tag in the WPS 28/* NOTE: The values of the AFMT_* items are used for the %fc tag in the WPS
diff --git a/lib/rbcodec/metadata/metadata_common.c b/lib/rbcodec/metadata/metadata_common.c
index e861644025..b062c5282d 100644
--- a/lib/rbcodec/metadata/metadata_common.c
+++ b/lib/rbcodec/metadata/metadata_common.c
@@ -24,7 +24,7 @@
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26 26
27#include "system.h" 27#include "platform.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/mod.c b/lib/rbcodec/metadata/mod.c
index de76823e91..b7f4913257 100644
--- a/lib/rbcodec/metadata/mod.c
+++ b/lib/rbcodec/metadata/mod.c
@@ -22,8 +22,8 @@
22#include <stdlib.h> 22#include <stdlib.h>
23#include <ctype.h> 23#include <ctype.h>
24#include <inttypes.h> 24#include <inttypes.h>
25#include "platform.h"
25 26
26#include "system.h"
27#include "metadata.h" 27#include "metadata.h"
28#include <string-extra.h> 28#include <string-extra.h>
29#include "metadata_common.h" 29#include "metadata_common.h"
diff --git a/lib/rbcodec/metadata/monkeys.c b/lib/rbcodec/metadata/monkeys.c
index 4aff1412aa..ba4273466a 100644
--- a/lib/rbcodec/metadata/monkeys.c
+++ b/lib/rbcodec/metadata/monkeys.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/mp3.c b/lib/rbcodec/metadata/mp3.c
index feb1a52f77..661fea8e51 100644
--- a/lib/rbcodec/metadata/mp3.c
+++ b/lib/rbcodec/metadata/mp3.c
@@ -34,10 +34,9 @@
34#include <stdbool.h> 34#include <stdbool.h>
35#include "string-extra.h" 35#include "string-extra.h"
36#include "config.h" 36#include "config.h"
37#include "file.h"
38#include "logf.h" 37#include "logf.h"
38#include "platform.h"
39 39
40#include "system.h"
41#include "metadata.h" 40#include "metadata.h"
42#include "mp3data.h" 41#include "mp3data.h"
43#include "metadata_common.h" 42#include "metadata_common.h"
diff --git a/lib/rbcodec/metadata/mp3data.c b/lib/rbcodec/metadata/mp3data.c
index 13ff0a87a7..8a134dd534 100644
--- a/lib/rbcodec/metadata/mp3data.c
+++ b/lib/rbcodec/metadata/mp3data.c
@@ -37,8 +37,7 @@
37#include "debug.h" 37#include "debug.h"
38#include "logf.h" 38#include "logf.h"
39#include "mp3data.h" 39#include "mp3data.h"
40#include "file.h" 40#include "platform.h"
41#include "system.h"
42 41
43//#define DEBUG_VERBOSE 42//#define DEBUG_VERBOSE
44 43
diff --git a/lib/rbcodec/metadata/mp4.c b/lib/rbcodec/metadata/mp4.c
index df164436f5..6973d3a314 100644
--- a/lib/rbcodec/metadata/mp4.c
+++ b/lib/rbcodec/metadata/mp4.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "errno.h" 28#include "errno.h"
29#include "metadata.h" 29#include "metadata.h"
30#include "metadata_common.h" 30#include "metadata_common.h"
diff --git a/lib/rbcodec/metadata/mpc.c b/lib/rbcodec/metadata/mpc.c
index 0b75ed04dd..3c0ee0707d 100644
--- a/lib/rbcodec/metadata/mpc.c
+++ b/lib/rbcodec/metadata/mpc.c
@@ -23,7 +23,7 @@
23#include <string.h> 23#include <string.h>
24#include <stdio.h> 24#include <stdio.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "system.h" 26#include "platform.h"
27#include "metadata.h" 27#include "metadata.h"
28#include "metadata_common.h" 28#include "metadata_common.h"
29#include "metadata_parsers.h" 29#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/nsf.c b/lib/rbcodec/metadata/nsf.c
index 2fa6f36b12..3184897e22 100644
--- a/lib/rbcodec/metadata/nsf.c
+++ b/lib/rbcodec/metadata/nsf.c
@@ -3,8 +3,8 @@
3#include <stdlib.h> 3#include <stdlib.h>
4#include <ctype.h> 4#include <ctype.h>
5#include <inttypes.h> 5#include <inttypes.h>
6#include "platform.h"
6 7
7#include "system.h"
8#include "metadata.h" 8#include "metadata.h"
9#include "metadata_common.h" 9#include "metadata_common.h"
10#include "metadata_parsers.h" 10#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/ogg.c b/lib/rbcodec/metadata/ogg.c
index 3a3cb29998..f3231c6f8a 100644
--- a/lib/rbcodec/metadata/ogg.c
+++ b/lib/rbcodec/metadata/ogg.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
@@ -68,7 +68,7 @@ bool get_ogg_metadata(int fd, struct mp3entry* id3)
68 { 68 {
69 return false; 69 return false;
70 } 70 }
71 71
72 /* All Ogg streams start with OggS */ 72 /* All Ogg streams start with OggS */
73 if (memcmp(buf, "OggS", 4) != 0) 73 if (memcmp(buf, "OggS", 4) != 0)
74 { 74 {
diff --git a/lib/rbcodec/metadata/oma.c b/lib/rbcodec/metadata/oma.c
index b82c0a4f73..3573d58808 100644
--- a/lib/rbcodec/metadata/oma.c
+++ b/lib/rbcodec/metadata/oma.c
@@ -46,6 +46,7 @@
46#include <stdlib.h> 46#include <stdlib.h>
47#include <inttypes.h> 47#include <inttypes.h>
48#include <string.h> 48#include <string.h>
49#include "platform.h"
49#include "metadata.h" 50#include "metadata.h"
50#include "metadata_parsers.h" 51#include "metadata_parsers.h"
51 52
diff --git a/lib/rbcodec/metadata/replaygain.c b/lib/rbcodec/metadata/replaygain.c
index a178321385..5e8c3a364a 100644
--- a/lib/rbcodec/metadata/replaygain.c
+++ b/lib/rbcodec/metadata/replaygain.c
@@ -25,9 +25,9 @@
25#include <stdio.h> 25#include <stdio.h>
26#include <stdlib.h> 26#include <stdlib.h>
27#include <inttypes.h> 27#include <inttypes.h>
28#include "platform.h"
28#include "strlcpy.h" 29#include "strlcpy.h"
29#include "strcasecmp.h" 30#include "strcasecmp.h"
30#include "system.h"
31#include "metadata.h" 31#include "metadata.h"
32#include "debug.h" 32#include "debug.h"
33#include "replaygain.h" 33#include "replaygain.h"
diff --git a/lib/rbcodec/metadata/rm.c b/lib/rbcodec/metadata/rm.c
index 27f541cb25..2a5a2892a3 100644
--- a/lib/rbcodec/metadata/rm.c
+++ b/lib/rbcodec/metadata/rm.c
@@ -23,9 +23,9 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include <codecs/librm/rm.h> 28#include <codecs/librm/rm.h>
28#include "system.h"
29#include "metadata.h" 29#include "metadata.h"
30#include "metadata_common.h" 30#include "metadata_common.h"
31#include "metadata_parsers.h" 31#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/sgc.c b/lib/rbcodec/metadata/sgc.c
index 78cacb9b1b..11a574139f 100644
--- a/lib/rbcodec/metadata/sgc.c
+++ b/lib/rbcodec/metadata/sgc.c
@@ -3,8 +3,8 @@
3#include <stdlib.h> 3#include <stdlib.h>
4#include <ctype.h> 4#include <ctype.h>
5#include <inttypes.h> 5#include <inttypes.h>
6#include "platform.h"
6 7
7#include "system.h"
8#include "metadata.h" 8#include "metadata.h"
9#include "metadata_common.h" 9#include "metadata_common.h"
10#include "metadata_parsers.h" 10#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/sid.c b/lib/rbcodec/metadata/sid.c
index 50b879b56d..3a276b3cde 100644
--- a/lib/rbcodec/metadata/sid.c
+++ b/lib/rbcodec/metadata/sid.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/smaf.c b/lib/rbcodec/metadata/smaf.c
index 1b745d3fa1..aeeadb431f 100644
--- a/lib/rbcodec/metadata/smaf.c
+++ b/lib/rbcodec/metadata/smaf.c
@@ -20,9 +20,9 @@
20 ****************************************************************************/ 20 ****************************************************************************/
21#include <inttypes.h> 21#include <inttypes.h>
22#include <stdio.h> 22#include <stdio.h>
23#include "platform.h"
23 24
24#include "string-extra.h" 25#include "string-extra.h"
25#include "system.h"
26#include "metadata.h" 26#include "metadata.h"
27#include "metadata_common.h" 27#include "metadata_common.h"
28#include "metadata_parsers.h" 28#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/spc.c b/lib/rbcodec/metadata/spc.c
index 1c0206205d..6d4590de3b 100644
--- a/lib/rbcodec/metadata/spc.c
+++ b/lib/rbcodec/metadata/spc.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/tta.c b/lib/rbcodec/metadata/tta.c
index 1d3d95f118..5f99c4776e 100644
--- a/lib/rbcodec/metadata/tta.c
+++ b/lib/rbcodec/metadata/tta.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/vgm.c b/lib/rbcodec/metadata/vgm.c
index 9ea95b3939..7d3f45e204 100644
--- a/lib/rbcodec/metadata/vgm.c
+++ b/lib/rbcodec/metadata/vgm.c
@@ -3,8 +3,8 @@
3#include <stdlib.h> 3#include <stdlib.h>
4#include <ctype.h> 4#include <ctype.h>
5#include <inttypes.h> 5#include <inttypes.h>
6#include "platform.h"
6 7
7#include "system.h"
8#include "metadata.h" 8#include "metadata.h"
9#include "metadata_common.h" 9#include "metadata_common.h"
10#include "metadata_parsers.h" 10#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/vorbis.c b/lib/rbcodec/metadata/vorbis.c
index 58bd781873..d020808c56 100644
--- a/lib/rbcodec/metadata/vorbis.c
+++ b/lib/rbcodec/metadata/vorbis.c
@@ -23,8 +23,7 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26 26#include "platform.h"
27#include "system.h"
28#include "metadata.h" 27#include "metadata.h"
29#include "metadata_common.h" 28#include "metadata_common.h"
30#include "metadata_parsers.h" 29#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/vox.c b/lib/rbcodec/metadata/vox.c
index f6bc849a88..cf08b61f35 100644
--- a/lib/rbcodec/metadata/vox.c
+++ b/lib/rbcodec/metadata/vox.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/wave.c b/lib/rbcodec/metadata/wave.c
index 45acea1fa1..3fb051dd3c 100644
--- a/lib/rbcodec/metadata/wave.c
+++ b/lib/rbcodec/metadata/wave.c
@@ -22,8 +22,8 @@
22#include <stdio.h> 22#include <stdio.h>
23#include <string.h> 23#include <string.h>
24#include <inttypes.h> 24#include <inttypes.h>
25#include "platform.h"
25 26
26#include "system.h"
27#include "metadata.h" 27#include "metadata.h"
28#include "metadata_common.h" 28#include "metadata_common.h"
29#include "metadata_parsers.h" 29#include "metadata_parsers.h"
diff --git a/lib/rbcodec/metadata/wavpack.c b/lib/rbcodec/metadata/wavpack.c
index f2811df8f3..4ea2684aaa 100644
--- a/lib/rbcodec/metadata/wavpack.c
+++ b/lib/rbcodec/metadata/wavpack.c
@@ -23,8 +23,8 @@
23#include <stdlib.h> 23#include <stdlib.h>
24#include <ctype.h> 24#include <ctype.h>
25#include <inttypes.h> 25#include <inttypes.h>
26#include "platform.h"
26 27
27#include "system.h"
28#include "metadata.h" 28#include "metadata.h"
29#include "metadata_common.h" 29#include "metadata_common.h"
30#include "metadata_parsers.h" 30#include "metadata_parsers.h"
diff --git a/lib/rbcodec/platform.h b/lib/rbcodec/platform.h
new file mode 100644
index 0000000000..47df8fe6a2
--- /dev/null
+++ b/lib/rbcodec/platform.h
@@ -0,0 +1,122 @@
1#ifndef PLATFORM_H_INCLUDED
2#define PLATFORM_H_INCLUDED
3
4#include "rbcodecconfig.h"
5#include "rbcodecplatform.h"
6
7/*
8
9#ifndef ROCKBOX
10# define __PCTOOL__
11# define RBCODEC_NOT_ROCKBOX
12# define ROCKBOX
13#endif
14
15#ifndef HAVE_STRLCPY
16size_t strlcpy(char *dst, const char *src, size_t siz);
17#endif
18*/
19#ifndef ARRAYLEN
20# define ARRAYLEN(a) (sizeof(a) / sizeof((a)[0]))
21#endif
22
23#ifndef MIN
24# define MIN(x, y) ((x)<(y) ? (x) : (y))
25#endif
26
27#ifndef MAX
28# define MAX(x, y) ((x)>(y) ? (x) : (y))
29#endif
30
31#ifndef BIT_N
32# define BIT_N(n) (1U << (n))
33#endif
34/*
35#ifdef CODEC
36
37# ifdef debugf
38# undef debugf
39# endif
40
41# ifdef logf
42# undef logf
43# endif
44
45#else
46
47# ifndef DEBUGF
48# define DEBUGF debugf
49# endif
50
51# ifndef debugf
52# define debugf(...) do { } while (0)
53# endif
54
55# ifndef logf
56# define logf(...) do { } while (0)
57# endif
58
59#endif
60
61#ifndef ATTRIBUTE_PRINTF
62# define ATTRIBUTE_PRINTF(fmt, arg1)
63#endif
64
65#ifndef LIKELY
66# define LIKELY(x) (x)
67#endif
68
69#ifndef UNLIKELY
70# define UNLIKELY(x) (x)
71#endif
72*/
73#ifndef CACHEALIGN_ATTR
74# define CACHEALIGN_ATTR
75#endif
76/*
77#ifndef DATA_ATTR
78# define DATA_ATTR
79#endif
80*/
81#ifndef IBSS_ATTR
82# define IBSS_ATTR
83#endif
84
85#ifndef ICODE_ATTR
86# define ICODE_ATTR
87#endif
88
89#ifndef ICONST_ATTR
90# define ICONST_ATTR
91#endif
92
93#ifndef IDATA_ATTR
94# define IDATA_ATTR
95#endif
96/*
97#ifndef INIT_ATTR
98# define INIT_ATTR
99#endif
100*/
101#ifndef MEM_ALIGN_ATTR
102# define MEM_ALIGN_ATTR
103#endif
104/*
105#ifndef STATICIRAM
106# define STATICIRAM
107#endif
108*/
109#ifndef CACHEALIGN_SIZE
110# define CACHEALIGN_SIZE 1
111#endif
112/*
113#ifndef HAVE_CLIP_SAMPLE_16
114static inline int32_t clip_sample_16(int32_t sample)
115{
116 if ((int16_t)sample != sample)
117 sample = 0x7fff ^ (sample >> 31);
118 return sample;
119}
120#endif
121*/
122#endif /* PLATFORM_H_INCLUDED */
diff --git a/lib/rbcodec/rbcodec.make b/lib/rbcodec/rbcodec.make
index 3dfade1826..7aac57b87d 100644
--- a/lib/rbcodec/rbcodec.make
+++ b/lib/rbcodec/rbcodec.make
@@ -7,7 +7,8 @@
7 7
8# RBCODEC_BLD is defined in the calling Makefile 8# RBCODEC_BLD is defined in the calling Makefile
9RBCODECLIB_DIR := $(ROOTDIR)/lib/rbcodec 9RBCODECLIB_DIR := $(ROOTDIR)/lib/rbcodec
10RBCODECLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/SOURCES) 10RBCODECLIB_SRC := $(call preprocess, $(RBCODECLIB_DIR)/SOURCES, \
11 $(RBCODEC_CFLAGS) -imacros rbcodecconfig.h)
11RBCODECLIB_OBJ := $(call c2obj, $(RBCODECLIB_SRC)) 12RBCODECLIB_OBJ := $(call c2obj, $(RBCODECLIB_SRC))
12RBCODECLIB := $(BUILDDIR)/lib/librbcodec.a 13RBCODECLIB := $(BUILDDIR)/lib/librbcodec.a
13 14
diff --git a/lib/rbcodec/rbcodecconfig-example.h b/lib/rbcodec/rbcodecconfig-example.h
new file mode 100644
index 0000000000..ad0f296a23
--- /dev/null
+++ b/lib/rbcodec/rbcodecconfig-example.h
@@ -0,0 +1,32 @@
1#ifndef RBCODECCONFIG_H_INCLUDED
2#define RBCODECCONFIG_H_INCLUDED
3
4#define HAVE_PITCHSCREEN
5//#define HAVE_SW_VOLUME_CONTROL
6#define HAVE_SW_TONE_CONTROLS
7#define HAVE_ALBUMART
8#define NUM_CORES 1
9
10#ifndef __ASSEMBLER__
11
12/* {,u}int{8,16,32,64}_t, {,U}INT{8,16,32,64}_{MIN,MAX}, intptr_t, uintptr_t */
13#include <inttypes.h>
14
15/* bool, true, false */
16#include <stdbool.h>
17
18/* NULL, offsetof, size_t */
19#include <stddef.h>
20
21/* ssize_t, off_t, open, close, read, lseek, SEEK_SET, SEEK_CUR, SEEK_END */
22#include <unistd.h>
23
24/* MAX_PATH, {UCHAR,USHRT,UINT,ULONG,SCHAR,SHRT,INT,LONG}_{MIN,MAX} */
25#include <limits.h>
26// FIXME changing MAX_PATH is broken for now
27//#define MAX_PATH PATH_MAX
28// set same as rb to avoid dragons
29#define MAX_PATH 260
30#endif
31
32#endif
diff --git a/lib/rbcodec/rbcodecplatform-unix.h b/lib/rbcodec/rbcodecplatform-unix.h
new file mode 100644
index 0000000000..c9c8a29642
--- /dev/null
+++ b/lib/rbcodec/rbcodecplatform-unix.h
@@ -0,0 +1,77 @@
1#ifndef RBCODECPLATFORM_H_INCLUDED
2#define RBCODECPLATFORM_H_INCLUDED
3
4/* assert */
5#include <assert.h>
6
7/* O_RDONLY, O_WRONLY, O_CREAT, O_APPEND */
8#include <fcntl.h>
9
10/* isdigit, islower, isprint, isspace, toupper */
11#include <ctype.h>
12
13/* memchr, memcmp, memcpy, memmove, memset, strcat, strchr, strcmp, strcpy,
14 * strlen, strncmp, strrchr */
15#include <string.h>
16
17/* strcasecmp */
18#include <strings.h>
19
20/* abs, atoi, labs, rand */
21#include <stdlib.h>
22
23/* swap16, swap32 */
24#include <byteswap.h>
25#ifndef swap16
26#define swap16(x) bswap_16(x)
27#endif
28#ifndef swap32
29#define swap32(x) bswap_32(x)
30#endif
31
32/* hto{be,le}{16,32}, {be,le}toh{16,32}, ROCKBOX_{BIG,LITTLE}_ENDIAN */
33#include <endian.h>
34#ifndef betoh16
35#define betoh16 be16toh
36#endif
37#ifndef betoh32
38#define betoh32 be32toh
39#endif
40#ifndef letoh16
41#define letoh16 le16toh
42#endif
43#ifndef letoh32
44#define letoh32 le32toh
45#endif
46#if BYTE_ORDER == LITTLE_ENDIAN
47#define ROCKBOX_LITTLE_ENDIAN 1
48#else
49#define ROCKBOX_BIG_ENDIAN 1
50#endif
51
52/* filesize */
53#include <sys/stat.h>
54off_t filesize(int fd);
55/*
56static inline off_t filesize(int fd) {
57 struct stat st;
58 fstat(fd, &st);
59 return st.st_size;
60}
61*/
62
63/* snprintf */
64#include <stdio.h>
65
66/* debugf, logf */
67/*
68#ifdef DEBUG
69#define debugf(...) fprintf(stderr, __VA_ARGS__)
70#ifndef logf
71#define logf(...) do { fprintf(stderr, __VA_ARGS__); \
72 putc('\n', stderr); \
73 } while (0)
74#endif
75#endif
76*/
77#endif
diff --git a/lib/rbcodec/test/rbcodecconfig.h b/lib/rbcodec/test/rbcodecconfig.h
new file mode 100644
index 0000000000..5e9c3bd0e8
--- /dev/null
+++ b/lib/rbcodec/test/rbcodecconfig.h
@@ -0,0 +1,2 @@
1#include "../rbcodecconfig-example.h"
2
diff --git a/lib/rbcodec/test/rbcodecplatform.h b/lib/rbcodec/test/rbcodecplatform.h
new file mode 100644
index 0000000000..1b51a9707c
--- /dev/null
+++ b/lib/rbcodec/test/rbcodecplatform.h
@@ -0,0 +1,2 @@
1#include "../rbcodecplatform-unix.h"
2
diff --git a/lib/rbcodec/test/warble.c b/lib/rbcodec/test/warble.c
index 2f52062e50..53d360d89e 100644
--- a/lib/rbcodec/test/warble.c
+++ b/lib/rbcodec/test/warble.c
@@ -34,12 +34,13 @@
34#include "buffering.h" /* TYPE_PACKET_AUDIO */ 34#include "buffering.h" /* TYPE_PACKET_AUDIO */
35#include "codecs.h" 35#include "codecs.h"
36#include "core_alloc.h" /* core_allocator_init */ 36#include "core_alloc.h" /* core_allocator_init */
37#include "debug.h"
38#include "dsp_core.h" 37#include "dsp_core.h"
39#include "metadata.h" 38#include "metadata.h"
40#include "settings.h" 39#include "settings.h"
41#include "sound.h" 40#include "sound.h"
42#include "tdspeed.h" 41#include "tdspeed.h"
42#include "kernel.h"
43#include "platform.h"
43 44
44/***************** EXPORTED *****************/ 45/***************** EXPORTED *****************/
45 46
@@ -581,6 +582,29 @@ static unsigned ci_sleep(unsigned ticks)
581 return 0; 582 return 0;
582} 583}
583 584
585static void ci_debugf(const char *fmt, ...)
586{
587 va_list ap;
588 va_start(ap, fmt);
589 vfprintf(stderr, fmt, ap);
590 va_end(ap);
591}
592
593#ifdef ROCKBOX_HAS_LOGF
594static void ci_logf(const char *fmt, ...)
595{
596 va_list ap;
597 va_start(ap, fmt);
598 vfprintf(stderr, fmt, ap);
599 putc('\n', stderr);
600 va_end(ap);
601}
602#endif
603
604static void commit_dcache(void) {}
605static void commit_discard_dcache(void) {}
606static void commit_discard_idcache(void) {}
607
584static struct codec_api ci = { 608static struct codec_api ci = {
585 609
586 0, /* filesize */ 610 0, /* filesize */
@@ -628,10 +652,10 @@ static struct codec_api ci = {
628 memcmp, 652 memcmp,
629 memchr, 653 memchr,
630#if defined(DEBUG) || defined(SIMULATOR) 654#if defined(DEBUG) || defined(SIMULATOR)
631 debugf, 655 ci_debugf,
632#endif 656#endif
633#ifdef ROCKBOX_HAS_LOGF 657#ifdef ROCKBOX_HAS_LOGF
634 debugf, /* logf */ 658 ci_logf,
635#endif 659#endif
636 660
637 qsort, 661 qsort,
diff --git a/lib/rbcodec/test/warble.make b/lib/rbcodec/test/warble.make
index f2234c03b5..b238a2ed63 100644
--- a/lib/rbcodec/test/warble.make
+++ b/lib/rbcodec/test/warble.make
@@ -7,20 +7,20 @@
7# $Id$ 7# $Id$
8# 8#
9 9
10
11
12RBCODECLIB_DIR = $(ROOTDIR)/lib/rbcodec 10RBCODECLIB_DIR = $(ROOTDIR)/lib/rbcodec
13RBCODEC_BLD = $(BUILDDIR)/lib/rbcodec 11RBCODEC_BLD = $(BUILDDIR)/lib/rbcodec
14 12
15GCCOPTS += -D__PCTOOL__ $(TARGET) -DDEBUG -g -std=gnu99 `$(SDLCONFIG) --cflags` -DCODECDIR="\"$(CODECDIR)\"" 13GCCOPTS += -D__PCTOOL__ $(TARGET) -DDEBUG -g -std=gnu99 \
14 `$(SDLCONFIG) --cflags` -DCODECDIR="\"$(CODECDIR)\""
15RBCODEC_CFLAGS += -D_FILE_H_ #-DLOGF_H -DDEBUG_H -D_KERNEL_H_ # will be removed later
16 16
17SRC= $(call preprocess, $(ROOTDIR)/lib/rbcodec/test/SOURCES) 17SRC= $(call preprocess, $(ROOTDIR)/lib/rbcodec/test/SOURCES)
18 18
19INCLUDES += -I$(ROOTDIR)/apps -I$(ROOTDIR)/apps/gui 19INCLUDES += -I$(ROOTDIR)/lib/rbcodec/test \
20INCLUDES += -I$(ROOTDIR)/firmware/export -I$(ROOTDIR)/firmware/include \ 20 -I$(ROOTDIR)/apps -I$(ROOTDIR)/apps/gui \
21 -I$(ROOTDIR)/firmware/target/hosted \ 21 -I$(ROOTDIR)/firmware/export -I$(ROOTDIR)/firmware/include \
22 -I$(ROOTDIR)/firmware/target/hosted/sdl 22 -I$(ROOTDIR)/firmware/target/hosted \
23 23 -I$(ROOTDIR)/firmware/target/hosted/sdl
24 24
25.SECONDEXPANSION: # $$(OBJ) is not populated until after this 25.SECONDEXPANSION: # $$(OBJ) is not populated until after this
26 26