FIX: [stagefright] Disable for KitKat+
authorChris "Koying" Browet <cbro@semperpax.com>
Wed, 6 Nov 2013 13:32:38 +0000 (14:32 +0100)
committerChris "Koying" Browet <cbro@semperpax.com>
Wed, 6 Nov 2013 13:37:46 +0000 (14:37 +0100)
xbmc/android/activity/AndroidFeatures.cpp
xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp
xbmc/settings/Settings.cpp

index ce088c3..99f591a 100644 (file)
@@ -55,6 +55,7 @@ int CAndroidFeatures::GetVersion()
     // <= 13 Honeycomb
     // <= 15 IceCreamSandwich
     //       JellyBean
+    // <= 19 KitKat
     version = iSdkVersion;
 
     jenv->DeleteLocalRef(jcOsBuild);
index 4864e47..6911f58 100644 (file)
@@ -45,6 +45,7 @@
 #endif
 #if defined(TARGET_ANDROID)
 #include "Video/DVDVideoCodecAndroidMediaCodec.h"
+#include "android/activity/AndroidFeatures.h"
 #endif
 #include "Audio/DVDAudioCodecFFmpeg.h"
 #include "Audio/DVDAudioCodecLibMad.h"
@@ -286,7 +287,7 @@ CDVDVideoCodec* CDVDFactoryCodec::CreateVideoCodec(CDVDStreamInfo &hint, unsigne
 #endif
 
 #if defined(HAS_LIBSTAGEFRIGHT)
-  if (CSettings::Get().GetBool("videoplayer.usestagefright") && !hint.software )
+  if (!hint.software && CSettings::Get().GetBool("videoplayer.usestagefright") && CAndroidFeatures::GetVersion() < 19 )
   {
     switch(hint.codec)
     {
index 226669a..63fa6b9 100644 (file)
@@ -811,7 +811,8 @@ void CSettings::InitializeConditions()
     m_settingsManager->AddCondition("have_amcodec");
 #endif
 #ifdef HAS_LIBSTAGEFRIGHT
-  m_settingsManager->AddCondition("have_libstagefrightdecoder");
+  if (CAndroidFeatures::GetVersion() < 19)
+    m_settingsManager->AddCondition("have_libstagefrightdecoder");
 #endif
 #ifdef TARGET_DARWIN_IOS_ATV2
   if (g_sysinfo.IsAppleTV2())