StreamingMediaPlayerTest: Add tests for HLS served locally

Also add a test to make sure query strings are handled properly
when interpreting relative URLs, as fixed in frameworks/av
by 8883a38a308.

Cherrypicked from https://android-review.googlesource.com/#/c/81855/
b/13174301

Change-Id: Ic00d58fcef9ed8acb60d426f1453e7f7bab1f455
diff --git a/tests/tests/media/assets/hls.m3u8 b/tests/tests/media/assets/hls.m3u8
new file mode 100644
index 0000000..127574a
--- /dev/null
+++ b/tests/tests/media/assets/hls.m3u8
@@ -0,0 +1,8 @@
+#EXTM3U
+#EXT-X-TARGETDURATION:10
+#EXT-X-MEDIA-SEQUENCE:0
+#EXTINF:10, no desc
+segment000000.ts
+#EXTINF:10, no desc
+segment000001.ts
+#EXT-X-ENDLIST
diff --git a/tests/tests/media/assets/segment000000.ts b/tests/tests/media/assets/segment000000.ts
new file mode 100644
index 0000000..8992c7b
--- /dev/null
+++ b/tests/tests/media/assets/segment000000.ts
Binary files differ
diff --git a/tests/tests/media/assets/segment000001.ts b/tests/tests/media/assets/segment000001.ts
new file mode 100644
index 0000000..fb112ec
--- /dev/null
+++ b/tests/tests/media/assets/segment000001.ts
Binary files differ
diff --git a/tests/tests/media/src/android/media/cts/StreamingMediaPlayerTest.java b/tests/tests/media/src/android/media/cts/StreamingMediaPlayerTest.java
index 08644c7..1cd285e 100644
--- a/tests/tests/media/src/android/media/cts/StreamingMediaPlayerTest.java
+++ b/tests/tests/media/src/android/media/cts/StreamingMediaPlayerTest.java
@@ -247,4 +247,27 @@
             mServer.shutdown();
         }
     }
+
+    public void testPlayHlsStream() throws Throwable {
+        localHlsTest("hls.m3u8", false);
+    }
+
+    public void testPlayHlsStreamWithQueryString() throws Throwable {
+        localHlsTest("hls.m3u8", true);
+    }
+
+    private void localHlsTest(final String name, boolean appendQueryString)
+            throws Throwable {
+        mServer = new CtsTestServer(mContext);
+        try {
+            String stream_url = mServer.getAssetUrl(name);
+            if (appendQueryString) {
+                stream_url += "?foo=bar/baz";
+            }
+
+            playLiveVideoTest(stream_url, 10);
+        } finally {
+            mServer.shutdown();
+        }
+    }
 }