summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/GenericSource.cpp
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-09-14 14:28:45 -0700
committerChong Zhang <chz@google.com>2014-09-16 13:26:18 -0700
commit48296b792a8d68358de74141fa80bd5bd84d0307 (patch)
tree56b46f8d4de2e87f8028a09fa2b8203625c01474 /media/libmediaplayerservice/nuplayer/GenericSource.cpp
parent83a23e1e1e45d9e2f5497e214796250f74aad1d4 (diff)
downloadframeworks_av-48296b792a8d68358de74141fa80bd5bd84d0307.zip
frameworks_av-48296b792a8d68358de74141fa80bd5bd84d0307.tar.gz
frameworks_av-48296b792a8d68358de74141fa80bd5bd84d0307.tar.bz2
Disconnect HTTP-based data source upon reset
Bug: 17425250 Change-Id: Ieb4c93fd9848489f9dbf35a36474376924fd8eb9
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/GenericSource.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/GenericSource.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
index d8ed836..0b85b23 100644
--- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp
@@ -464,6 +464,15 @@ void NuPlayer::GenericSource::resume() {
mStarted = true;
}
+void NuPlayer::GenericSource::disconnect() {
+ if (mDataSource != NULL) {
+ // disconnect data source
+ if (mDataSource->flags() & DataSource::kIsCachingDataSource) {
+ static_cast<NuCachedSource2 *>(mDataSource.get())->disconnect();
+ }
+ }
+}
+
void NuPlayer::GenericSource::setDrmPlaybackStatusIfNeeded(int playbackStatus, int64_t position) {
if (mDecryptHandle != NULL) {
mDrmManagerClient->setPlaybackStatus(mDecryptHandle, playbackStatus, position);