summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2013-11-22 18:11:58 +0200
committerMartin Storsjo <martin@martin.st>2013-11-25 14:52:51 +0200
commit0c9045e42eebdfcfeb1d372e932f043bb99f7ad9 (patch)
tree869cb52069bca2deca4b3a5d3e8a3f0c518ac223
parent5bf2560ce9b70bee077e0c264ac06648f0f63acc (diff)
downloadframeworks_av-0c9045e42eebdfcfeb1d372e932f043bb99f7ad9.zip
frameworks_av-0c9045e42eebdfcfeb1d372e932f043bb99f7ad9.tar.gz
frameworks_av-0c9045e42eebdfcfeb1d372e932f043bb99f7ad9.tar.bz2
ChromiumHTTPDataSource: Keep track of the redirected URL
This makes the code actually match an existing comment in DrmInitialization, which claimed that mURI was the redirected URL and not the original one. Change-Id: I0a5cc65f520f1482ff91320ae78af84a8a681ee3
-rw-r--r--media/libstagefright/chromium_http/ChromiumHTTPDataSource.cpp5
-rw-r--r--media/libstagefright/chromium_http/support.cpp1
-rw-r--r--media/libstagefright/include/ChromiumHTTPDataSource.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/media/libstagefright/chromium_http/ChromiumHTTPDataSource.cpp b/media/libstagefright/chromium_http/ChromiumHTTPDataSource.cpp
index a862d8b..7e5c280 100644
--- a/media/libstagefright/chromium_http/ChromiumHTTPDataSource.cpp
+++ b/media/libstagefright/chromium_http/ChromiumHTTPDataSource.cpp
@@ -108,6 +108,11 @@ status_t ChromiumHTTPDataSource::connect_l(
return mState == CONNECTED ? OK : mIOResult;
}
+void ChromiumHTTPDataSource::onRedirect(const char *url) {
+ Mutex::Autolock autoLock(mLock);
+ mURI = url;
+}
+
void ChromiumHTTPDataSource::onConnectionEstablished(
int64_t contentSize, const char *contentType) {
Mutex::Autolock autoLock(mLock);
diff --git a/media/libstagefright/chromium_http/support.cpp b/media/libstagefright/chromium_http/support.cpp
index 0a8e3e3..3b33212 100644
--- a/media/libstagefright/chromium_http/support.cpp
+++ b/media/libstagefright/chromium_http/support.cpp
@@ -269,6 +269,7 @@ bool SfDelegate::getUID(uid_t *uid) const {
void SfDelegate::OnReceivedRedirect(
net::URLRequest *request, const GURL &new_url, bool *defer_redirect) {
MY_LOGV("OnReceivedRedirect");
+ mOwner->onRedirect(new_url.spec().c_str());
}
void SfDelegate::OnAuthRequired(
diff --git a/media/libstagefright/include/ChromiumHTTPDataSource.h b/media/libstagefright/include/ChromiumHTTPDataSource.h
index 785f939..da188dd 100644
--- a/media/libstagefright/include/ChromiumHTTPDataSource.h
+++ b/media/libstagefright/include/ChromiumHTTPDataSource.h
@@ -113,6 +113,7 @@ private:
void onConnectionFailed(status_t err);
void onReadCompleted(ssize_t size);
void onDisconnectComplete();
+ void onRedirect(const char *url);
void clearDRMState_l();