diff options
author | Andreas Huber <andih@google.com> | 2012-08-28 11:13:37 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-08-28 11:13:37 -0700 |
commit | 5a9750bd7c9019a56daf2b9b1795ee441cada78e (patch) | |
tree | b11c5d2737759543c556025140ee41442b2a6df1 | |
parent | 09e135a0df4efd122cf9a614403142ef4191e25d (diff) | |
parent | d1e7f23bed86769a9b31f7120ac4fe69fbc5276a (diff) | |
download | frameworks_av-5a9750bd7c9019a56daf2b9b1795ee441cada78e.zip frameworks_av-5a9750bd7c9019a56daf2b9b1795ee441cada78e.tar.gz frameworks_av-5a9750bd7c9019a56daf2b9b1795ee441cada78e.tar.bz2 |
am 3a1d5240: Merge "Fix retries when server doesn\'t support range requests." into jb-mr1-dev
* commit '3a1d5240f3dcf0f3538549cc94c63fde8b216762':
Fix retries when server doesn't support range requests.
-rw-r--r-- | media/libstagefright/NuCachedSource2.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/media/libstagefright/NuCachedSource2.cpp b/media/libstagefright/NuCachedSource2.cpp index f1075b1..05e599b 100644 --- a/media/libstagefright/NuCachedSource2.cpp +++ b/media/libstagefright/NuCachedSource2.cpp @@ -298,7 +298,9 @@ void NuCachedSource2::fetchInternal() { Mutex::Autolock autoLock(mLock); - if (err == ERROR_UNSUPPORTED) { + if (err == ERROR_UNSUPPORTED || err == -EPIPE) { + // These are errors that are not likely to go away even if we + // retry, i.e. the server doesn't support range requests or similar. mNumRetriesLeft = 0; return; } else if (err != OK) { @@ -317,8 +319,14 @@ void NuCachedSource2::fetchInternal() { Mutex::Autolock autoLock(mLock); if (n < 0) { - ALOGE("source returned error %ld, %d retries left", n, mNumRetriesLeft); mFinalStatus = n; + if (n == ERROR_UNSUPPORTED || n == -EPIPE) { + // These are errors that are not likely to go away even if we + // retry, i.e. the server doesn't support range requests or similar. + mNumRetriesLeft = 0; + } + + ALOGE("source returned error %ld, %d retries left", n, mNumRetriesLeft); mCache->releasePage(page); } else if (n == 0) { ALOGI("ERROR_END_OF_STREAM"); |