summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/GenericSource.h
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2014-08-28 15:50:29 -0700
committerRonghua Wu <ronghuawu@google.com>2014-08-29 13:56:42 -0700
commit802768790c131f8237364906fd13981a6bb91193 (patch)
tree4d7ba73ee57592fe29079c5949fb39083ecb9184 /media/libmediaplayerservice/nuplayer/GenericSource.h
parentd42173a44721af1a600b9c8599bc736394fcc724 (diff)
downloadframeworks_av-802768790c131f8237364906fd13981a6bb91193.zip
frameworks_av-802768790c131f8237364906fd13981a6bb91193.tar.gz
frameworks_av-802768790c131f8237364906fd13981a6bb91193.tar.bz2
GenericSource: set DRM playback status.
Bug: 17307158 Change-Id: I36b801a9b67831b618930cf1241756bb9644b4fd
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/GenericSource.h')
-rw-r--r--media/libmediaplayerservice/nuplayer/GenericSource.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.h b/media/libmediaplayerservice/nuplayer/GenericSource.h
index 663bfae..1f13120 100644
--- a/media/libmediaplayerservice/nuplayer/GenericSource.h
+++ b/media/libmediaplayerservice/nuplayer/GenericSource.h
@@ -27,6 +27,8 @@
namespace android {
+class DecryptHandle;
+class DrmManagerClient;
struct AnotherPacketSource;
struct ARTSPController;
struct DataSource;
@@ -49,6 +51,9 @@ struct NuPlayer::GenericSource : public NuPlayer::Source {
virtual void prepareAsync();
virtual void start();
+ virtual void stop();
+ virtual void pause();
+ virtual void resume();
virtual status_t feedMoreTSData();
@@ -90,7 +95,9 @@ private:
};
Track mAudioTrack;
+ int64_t mAudioTimeUs;
Track mVideoTrack;
+ int64_t mVideoTimeUs;
Track mSubtitleTrack;
Track mTimedTextTrack;
@@ -111,6 +118,9 @@ private:
sp<DataSource> mDataSource;
sp<NuCachedSource2> mCachedSource;
sp<WVMExtractor> mWVMExtractor;
+ DrmManagerClient *mDrmManagerClient;
+ sp<DecryptHandle> mDecryptHandle;
+ bool mStarted;
String8 mContentType;
AString mSniffedMIME;
off64_t mMetaDataSize;
@@ -122,6 +132,9 @@ private:
void resetDataSource();
status_t initFromDataSource();
+ void checkDrmStatus(const sp<DataSource>& dataSource);
+ int64_t getLastReadPosition();
+ void setDrmPlaybackStatusIfNeeded(int playbackStatus, int64_t position);
status_t prefillCacheIfNecessary();