diff options
author | Andreas Huber <andih@google.com> | 2012-08-28 09:48:40 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2012-08-28 10:46:38 -0700 |
commit | a7607a7f97b3136d5e61c0bca63760bf9fc05b19 (patch) | |
tree | 9a939366f6acaba47fe73e6bb9d25bed37c8b022 | |
parent | 690921927f289da73556ea71c28981194af8ffcd (diff) | |
download | frameworks_av-a7607a7f97b3136d5e61c0bca63760bf9fc05b19.zip frameworks_av-a7607a7f97b3136d5e61c0bca63760bf9fc05b19.tar.gz frameworks_av-a7607a7f97b3136d5e61c0bca63760bf9fc05b19.tar.bz2 |
Fix retries when server doesn't support range requests.
Change-Id: I2d137f3e799b87af36a279473c0077d860c14477
related-to-bug: 7021436
-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"); |