Merge "Fix for b/4198446 HC - Support for Widevine Adaptive VOD Fix for b/4075745 libWVStreamControlAPI crashes when dlopened() and dlclosed() Added error logging to diagnose problems such as b/4430078 Playback of newly rented movie fails with "license expired"" into honeycomb-mr2

This commit is contained in:
Jeffrey Tinker
2011-05-23 18:12:05 -07:00
committed by Android (Google) Code Review
9 changed files with 140 additions and 22 deletions

View File

@@ -21,7 +21,7 @@
#include "AndroidConfig.h"
#include "WVStreamControlAPI.h"
#include "WVMInfoListener.h"
#include <media/stagefright/MediaExtractor.h>
#include "WVMExtractor.h"
#include <media/stagefright/DataSource.h>
#include <utils/RefBase.h>
@@ -30,13 +30,13 @@
namespace android {
MediaExtractor *GetInstance(sp<DataSource> dataSource);
WVMLoadableExtractor *GetInstance(sp<DataSource> dataSource);
class WVMMediaSource;
class WVMFileSource;
class WVMExtractorImpl : public MediaExtractor {
class WVMExtractorImpl : public WVMLoadableExtractor {
public:
WVMExtractorImpl(sp<DataSource> dataSource);
@@ -45,9 +45,13 @@ public:
virtual sp<MetaData> getTrackMetaData(size_t index, uint32_t flags);
virtual sp<MetaData> getMetaData();
virtual int64_t getCachedDurationUs(status_t *finalStatus);
virtual void setAdaptiveStreamingMode(bool adaptive);
bool getAdaptiveStreamingMode() const;
protected:
virtual ~WVMExtractorImpl();
void Initialize();
private:
status_t readAVCCMetaData(sp<MetaData> videoMetaData);
@@ -61,6 +65,9 @@ private:
sp<WVMInfoListener> mInfoListener;
bool mHaveMetaData;
bool mUseAdaptiveStreaming;
bool mIsLiveStream;
bool mAdaptivePrefetching;
WVSession *mSession;