From 0c9045e42eebdfcfeb1d372e932f043bb99f7ad9 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Fri, 22 Nov 2013 18:11:58 +0200 Subject: 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 --- media/libstagefright/chromium_http/ChromiumHTTPDataSource.cpp | 5 +++++ media/libstagefright/chromium_http/support.cpp | 1 + media/libstagefright/include/ChromiumHTTPDataSource.h | 1 + 3 files changed, 7 insertions(+) (limited to 'media/libstagefright') 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(); -- cgit v1.1