diff options
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/GenericSource.h')
| -rw-r--r-- | media/libmediaplayerservice/nuplayer/GenericSource.h | 21 | 
1 files changed, 13 insertions, 8 deletions
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.h b/media/libmediaplayerservice/nuplayer/GenericSource.h index 2d73ea9..dc85d2d 100644 --- a/media/libmediaplayerservice/nuplayer/GenericSource.h +++ b/media/libmediaplayerservice/nuplayer/GenericSource.h @@ -31,12 +31,13 @@ class DecryptHandle;  class DrmManagerClient;  struct AnotherPacketSource;  struct ARTSPController; -struct DataSource; +class DataSource; +class IDataSource;  struct IMediaHTTPService;  struct MediaSource;  class MediaBuffer;  struct NuCachedSource2; -struct WVMExtractor; +class WVMExtractor;  struct NuPlayer::GenericSource : public NuPlayer::Source {      GenericSource(const sp<AMessage> ¬ify, bool uidValid, uid_t uid); @@ -48,6 +49,8 @@ struct NuPlayer::GenericSource : public NuPlayer::Source {      status_t setDataSource(int fd, int64_t offset, int64_t length); +    status_t setDataSource(const sp<DataSource>& dataSource); +      virtual void prepareAsync();      virtual void start(); @@ -72,6 +75,8 @@ struct NuPlayer::GenericSource : public NuPlayer::Source {      virtual status_t setBuffers(bool audio, Vector<MediaBuffer *> &buffers); +    virtual bool isStreaming() const; +  protected:      virtual ~GenericSource(); @@ -140,14 +145,13 @@ private:      sp<DecryptHandle> mDecryptHandle;      bool mStarted;      bool mStopRead; -    String8 mContentType; -    AString mSniffedMIME; -    off64_t mMetaDataSize;      int64_t mBitrate;      int32_t mPollBufferingGeneration;      uint32_t mPendingReadBufferTypes;      bool mBuffering;      bool mPrepareBuffering; +    int32_t mPrevBufferPercentage; +      mutable Mutex mReadBufferLock;      sp<ALooper> mLooper; @@ -159,8 +163,6 @@ private:      int64_t getLastReadPosition();      void setDrmPlaybackStatusIfNeeded(int playbackStatus, int64_t position); -    status_t prefillCacheIfNecessary(); -      void notifyPreparedAndCleanup(status_t err);      void onSecureDecodersInstantiated(status_t err);      void finishPrepareAsync(); @@ -200,11 +202,14 @@ private:              media_track_type trackType,              int64_t seekTimeUs = -1ll, int64_t *actualTimeUs = NULL, bool formatChange = false); +    void queueDiscontinuityIfNeeded( +            bool seeking, bool formatChange, media_track_type trackType, Track *track); +      void schedulePollBuffering();      void cancelPollBuffering();      void restartPollBuffering();      void onPollBuffering(); -    void notifyBufferingUpdate(int percentage); +    void notifyBufferingUpdate(int32_t percentage);      void startBufferingIfNecessary();      void stopBufferingIfNecessary();      void sendCacheStats();  | 
