am b3c5a4bb: Fix crash on invalid channel config

* commit 'b3c5a4bb8442ab3158fa1f52b790fadc64546f46':
  Fix crash on invalid channel config
diff --git a/Android.mk b/Android.mk
index f804089..cfd5113 100644
--- a/Android.mk
+++ b/Android.mk
@@ -39,7 +39,6 @@
         $(sbrdec_sources:%=libSBRdec/src/%) \
         $(sbrenc_sources:%=libSBRenc/src/%)
 
-LOCAL_CFLAGS := -DANDROID
 LOCAL_CFLAGS += -Wno-sequence-point -Wno-extra
 
 LOCAL_C_INCLUDES := \
@@ -53,6 +52,9 @@
         $(LOCAL_PATH)/libSBRdec/include \
         $(LOCAL_PATH)/libSBRenc/include
 
+
+LOCAL_CPPFLAGS += -std=c++98
+
 LOCAL_MODULE:= libFraunhoferAAC
 
 include $(BUILD_STATIC_LIBRARY)
diff --git a/libFDK/include/cplx_mul.h b/libFDK/include/cplx_mul.h
index 093ffa6..ce5c9f7 100644
--- a/libFDK/include/cplx_mul.h
+++ b/libFDK/include/cplx_mul.h
@@ -96,7 +96,7 @@
 #if defined(__CC_ARM) || defined(__arm__) || defined(_M_ARM)	/* cppp replaced: elif */
 #include "arm/cplx_mul.h"
 
-#elif defined(__GNUC__) && defined(__mips__)	/* cppp replaced: elif */
+#elif defined(__GNUC__) && defined(__mips__) && __mips_isa_rev < 6
 #include "mips/cplx_mul.h"
 
 #endif /* #if defined all cores: bfin, arm, etc. */
diff --git a/libFDK/include/mips/cplx_mul.h b/libFDK/include/mips/cplx_mul.h
index e05d2b6..43cdbd0 100644
--- a/libFDK/include/mips/cplx_mul.h
+++ b/libFDK/include/mips/cplx_mul.h
@@ -89,7 +89,7 @@
 ******************************************************************************/
 
 
-#if defined(__GNUC__) && defined(__mips__)
+#if defined(__GNUC__) && defined(__mips__) && __mips_isa_rev < 6
 
 
 //#define FUNCTION_cplxMultDiv2_32x16
diff --git a/libMpegTPDec/src/tpdec_asc.cpp b/libMpegTPDec/src/tpdec_asc.cpp
index 82adec1..bae271e 100644
--- a/libMpegTPDec/src/tpdec_asc.cpp
+++ b/libMpegTPDec/src/tpdec_asc.cpp
@@ -449,13 +449,13 @@
     int el, elTagSce = 0, elTagCpe = 0;
 
     for (el = 0; el < pPce->NumFrontChannelElements; el += 1) {
-      pPce->FrontElementTagSelect[el] = (pPce->FrontElementIsCpe) ? elTagCpe++ : elTagSce++;
+      pPce->FrontElementTagSelect[el] = (pPce->FrontElementIsCpe[el]) ? elTagCpe++ : elTagSce++;
     }
     for (el = 0; el < pPce->NumSideChannelElements; el += 1) {
-      pPce->SideElementTagSelect[el] = (pPce->SideElementIsCpe) ? elTagCpe++ : elTagSce++;
+      pPce->SideElementTagSelect[el] = (pPce->SideElementIsCpe[el]) ? elTagCpe++ : elTagSce++;
     }
     for (el = 0; el < pPce->NumBackChannelElements; el += 1) {
-      pPce->BackElementTagSelect[el] = (pPce->BackElementIsCpe) ? elTagCpe++ : elTagSce++;
+      pPce->BackElementTagSelect[el] = (pPce->BackElementIsCpe[el]) ? elTagCpe++ : elTagSce++;
     }
     elTagSce = 0;
     for (el = 0; el < pPce->NumLfeChannelElements; el += 1) {
diff --git a/libSYS/src/genericStds.cpp b/libSYS/src/genericStds.cpp
index 3381e37..72b5467 100644
--- a/libSYS/src/genericStds.cpp
+++ b/libSYS/src/genericStds.cpp
@@ -116,7 +116,7 @@
 
 
 /* Include OS/System specific implementations. */
-#if defined(__linux__)	/* cppp replaced: elif */
+#if defined(__linux__) && !defined(__ANDROID__) /* cppp replaced: elif */
   #include "linux/genericStds_linux.cpp"
 #endif