diff -rNu rb/apps/codecs.c rb_fix/apps/codecs.c
--- rb/apps/codecs.c	2011-03-07 11:41:33.281250000 +0800
+++ rb_fix/apps/codecs.c	2011-03-07 16:11:06.000000000 +0800
@@ -70,7 +70,7 @@
 
 extern void* plugin_get_audio_buffer(size_t *buffer_size);
 
-#if (CONFIG_PLATFORM & PLATFORM_NATIVE) && defined(HAVE_RECORDING)
+#if (CONFIG_PLATFORM & PLATFORM_NATIVE)
 #undef open
 static int open(const char* pathname, int flags, ...)
 {
@@ -154,6 +154,7 @@
     enc_finish_chunk,
     enc_get_pcm_data,
     enc_unget_pcm_data,
+#endif /* HAVE_RECORDING */
 
     /* file */
     (open_func)PREFIX(open),
@@ -163,8 +164,6 @@
     (write_func)PREFIX(write),
     round_value_to_list32,
 
-#endif /* HAVE_RECORDING */
-
     /* new stuff at the end, sort into place next time
        the API gets incompatible */
 };
diff -rNu rb/apps/codecs.h rb_fix/apps/codecs.h
--- rb/apps/codecs.h	2011-03-07 11:41:33.312500000 +0800
+++ rb_fix/apps/codecs.h	2011-03-07 16:10:43.187500000 +0800
@@ -213,6 +213,7 @@
     void            (*enc_finish_chunk)(void);
     unsigned char * (*enc_get_pcm_data)(size_t size);
     size_t          (*enc_unget_pcm_data)(size_t size);
+#endif
 
     /* file */
     int (*open)(const char* pathname, int flags, ...);
@@ -224,7 +225,6 @@
                                  const unsigned long list[],
                                  int count,
                                  bool signd);
-#endif
 
     /* new stuff at the end, sort into place next time
        the API gets incompatible */
