diff options
author | Chong Zhang <chz@google.com> | 2014-09-14 14:28:45 -0700 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2014-09-16 13:26:18 -0700 |
commit | 48296b792a8d68358de74141fa80bd5bd84d0307 (patch) | |
tree | 56b46f8d4de2e87f8028a09fa2b8203625c01474 /media/libmediaplayerservice/nuplayer/GenericSource.cpp | |
parent | 83a23e1e1e45d9e2f5497e214796250f74aad1d4 (diff) | |
download | frameworks_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.cpp | 9 |
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); |