Merge "release-request-947671a0-00af-456b-a62c-687221ebfb00-for-aosp-lollipop-mr1-cts-release-4256994 snap-temp-L90000000091012259" into lollipop-mr1-cts-release
diff --git a/apps/CtsVerifier/AndroidManifest.xml b/apps/CtsVerifier/AndroidManifest.xml
index 79a13d6..5c41d6c 100644
--- a/apps/CtsVerifier/AndroidManifest.xml
+++ b/apps/CtsVerifier/AndroidManifest.xml
@@ -18,7 +18,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
       package="com.android.cts.verifier"
       android:versionCode="5"
-      android:versionName="5.1_r22">
+      android:versionName="5.1_r23">
 
     <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="21"/>
 
diff --git a/tests/tests/security/res/raw/bug_23270724_1.mp4 b/tests/tests/security/res/raw/bug_23270724_1.mp4
new file mode 100644
index 0000000..93a9b2e
--- /dev/null
+++ b/tests/tests/security/res/raw/bug_23270724_1.mp4
Binary files differ
diff --git a/tests/tests/security/res/raw/bug_23270724_2.mp4 b/tests/tests/security/res/raw/bug_23270724_2.mp4
new file mode 100644
index 0000000..fcdfcd2
--- /dev/null
+++ b/tests/tests/security/res/raw/bug_23270724_2.mp4
Binary files differ
diff --git a/tests/tests/security/res/raw/bug_32873375.mp4 b/tests/tests/security/res/raw/bug_32873375.mp4
new file mode 100644
index 0000000..71e9c7b
--- /dev/null
+++ b/tests/tests/security/res/raw/bug_32873375.mp4
Binary files differ
diff --git a/tests/tests/security/res/raw/bug_34031018_32bit.xmf b/tests/tests/security/res/raw/bug_34031018_32bit.xmf
new file mode 100644
index 0000000..8f869ab
--- /dev/null
+++ b/tests/tests/security/res/raw/bug_34031018_32bit.xmf
Binary files differ
diff --git a/tests/tests/security/res/raw/bug_34031018_64bit.xmf b/tests/tests/security/res/raw/bug_34031018_64bit.xmf
new file mode 100644
index 0000000..4ddd28d
--- /dev/null
+++ b/tests/tests/security/res/raw/bug_34031018_64bit.xmf
Binary files differ
diff --git a/tests/tests/security/src/android/security/cts/StagefrightTest.java b/tests/tests/security/src/android/security/cts/StagefrightTest.java
index 702c77d..952a8f8 100644
--- a/tests/tests/security/src/android/security/cts/StagefrightTest.java
+++ b/tests/tests/security/src/android/security/cts/StagefrightTest.java
@@ -69,6 +69,11 @@
      before any existing test methods
      ***********************************************************/
 
+    public void testStagefright_bug_23270724() throws Exception {
+        doStagefrightTest(R.raw.bug_23270724_1);
+        doStagefrightTest(R.raw.bug_23270724_2);
+    }
+
     public void testStagefright_bug_22771132() throws Exception {
         doStagefrightTest(R.raw.bug_22771132);
     }
@@ -145,6 +150,10 @@
         doStagefrightTest(R.raw.cve_2015_6598);
     }
 
+    public void testStagefright_bug_32873375() throws Exception {
+        doStagefrightTest(R.raw.bug_32873375);
+    }
+
     public void testStagefright_bug_26366256() throws Exception {
         doStagefrightTest(R.raw.bug_26366256);
     }
@@ -197,6 +206,11 @@
         doStagefrightTest(R.raw.cve_2016_2429_b_27211885);
     }
 
+    public void testStagefright_bug_34031018() throws Exception {
+        doStagefrightTest(R.raw.bug_34031018_32bit);
+        doStagefrightTest(R.raw.bug_34031018_64bit);
+    }
+
     private void doStagefrightTest(final int rid) throws Exception {
         doStagefrightTestMediaPlayer(rid);
         doStagefrightTestMediaCodec(rid);
@@ -436,7 +450,11 @@
                 closeQuietly(fd);
             }
         } else {
-            ex.setDataSource(url);
+            try {
+                ex.setDataSource(url);
+            } catch (Exception e) {
+                // indicative of problems with our tame CTS test web server
+            }
         }
         int numtracks = ex.getTrackCount();
         String rname = url != null ? url: resources.getResourceEntryName(rid);
@@ -588,13 +606,17 @@
             try {
                 retriever.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength());
                 fd.close();
-            } catch (IllegalArgumentException e) {
+            } catch (Exception e) {
                 // ignore
             } finally {
                 closeQuietly(fd);
             }
         } else {
-            retriever.setDataSource(url, new HashMap<String, String>());
+            try {
+                retriever.setDataSource(url, new HashMap<String, String>());
+            } catch (Exception e) {
+                // indicative of problems with our tame CTS test web server
+            }
         }
         retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
         retriever.getEmbeddedPicture();
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
index fecbd6a..82acc8e 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
@@ -31,7 +31,7 @@
     @Option(name="cts-install-path", description="the path to the cts installation to use")
     private String mCtsRootDirPath = System.getProperty("CTS_ROOT");
 
-    public static final String CTS_BUILD_VERSION = "5.1_r22";
+    public static final String CTS_BUILD_VERSION = "5.1_r23";
 
     /**
      * {@inheritDoc}