From 8976a0954cce9cfc8bd8776893fc9067e240a91c Mon Sep 17 00:00:00 2001 From: Chong Zhang Date: Mon, 10 Nov 2014 19:31:01 -0800 Subject: [PATCH] return error MEDIA_ERROR_UNSUPPORTED when Range request fail Bug: 18235751 Change-Id: I4631daf50bb76b70dd740c45b628294ad1aa45e1 --- media/java/android/media/MediaHTTPConnection.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/media/java/android/media/MediaHTTPConnection.java b/media/java/android/media/MediaHTTPConnection.java index d0f333414b535..b2886bb473b1b 100644 --- a/media/java/android/media/MediaHTTPConnection.java +++ b/media/java/android/media/MediaHTTPConnection.java @@ -31,6 +31,7 @@ import java.net.URL; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.NoRouteToHostException; +import java.net.ProtocolException; import java.util.HashMap; import java.util.Map; @@ -282,7 +283,7 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub { if (offset > 0 && response != HttpURLConnection.HTTP_PARTIAL) { // Some servers simply ignore "Range" requests and serve // data from the start of the content. - throw new IOException(); + throw new ProtocolException(); } mInputStream = @@ -330,6 +331,9 @@ public class MediaHTTPConnection extends IMediaHTTPConnection.Stub { } return n; + } catch (ProtocolException e) { + Log.w(TAG, "readAt " + offset + " / " + size + " => " + e); + return MEDIA_ERROR_UNSUPPORTED; } catch (NoRouteToHostException e) { Log.w(TAG, "readAt " + offset + " / " + size + " => " + e); return MEDIA_ERROR_UNSUPPORTED;