am ef89cc14
: Merge "Multi-repository checkin, goes with https://android-git.corp.google.com/g/111038" into honeycomb-mr2
* commit 'ef89cc14957ab631346564801841190346632ac9': Multi-repository checkin, goes with https://android-git.corp.google.com/g/111038
This commit is contained in:
@ -45,8 +45,7 @@ namespace android {
|
||||
static Mutex gWVMutex;
|
||||
|
||||
WVMExtractor::WVMExtractor(const sp<DataSource> &source)
|
||||
: mDataSource(source),
|
||||
mUseAdaptiveStreaming(false) {
|
||||
: mDataSource(source) {
|
||||
{
|
||||
Mutex::Autolock autoLock(gWVMutex);
|
||||
if (gVendorLibHandle == NULL) {
|
||||
@ -59,13 +58,12 @@ WVMExtractor::WVMExtractor(const sp<DataSource> &source)
|
||||
}
|
||||
}
|
||||
|
||||
typedef MediaExtractor *(*GetInstanceFunc)(sp<DataSource>);
|
||||
typedef WVMLoadableExtractor *(*GetInstanceFunc)(sp<DataSource>);
|
||||
GetInstanceFunc getInstanceFunc =
|
||||
(GetInstanceFunc) dlsym(gVendorLibHandle,
|
||||
"_ZN7android11GetInstanceENS_2spINS_10DataSourceEEE");
|
||||
|
||||
if (getInstanceFunc) {
|
||||
LOGD("Calling GetInstanceFunc");
|
||||
mImpl = (*getInstanceFunc)(source);
|
||||
CHECK(mImpl != NULL);
|
||||
} else {
|
||||
@ -102,19 +100,17 @@ sp<MetaData> WVMExtractor::getMetaData() {
|
||||
}
|
||||
|
||||
int64_t WVMExtractor::getCachedDurationUs(status_t *finalStatus) {
|
||||
// TODO: Fill this with life.
|
||||
if (mImpl == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
*finalStatus = OK;
|
||||
|
||||
return 0;
|
||||
return mImpl->getCachedDurationUs(finalStatus);
|
||||
}
|
||||
|
||||
void WVMExtractor::setAdaptiveStreamingMode(bool adaptive) {
|
||||
mUseAdaptiveStreaming = adaptive;
|
||||
}
|
||||
|
||||
bool WVMExtractor::getAdaptiveStreamingMode() const {
|
||||
return mUseAdaptiveStreaming;
|
||||
if (mImpl != NULL) {
|
||||
mImpl->setAdaptiveStreamingMode(adaptive);
|
||||
}
|
||||
}
|
||||
|
||||
} //namespace android
|
||||
|
@ -25,6 +25,15 @@ namespace android {
|
||||
|
||||
class DataSource;
|
||||
|
||||
class WVMLoadableExtractor : public MediaExtractor {
|
||||
public:
|
||||
WVMLoadableExtractor() {}
|
||||
virtual ~WVMLoadableExtractor() {}
|
||||
|
||||
virtual int64_t getCachedDurationUs(status_t *finalStatus) = 0;
|
||||
virtual void setAdaptiveStreamingMode(bool adaptive) = 0;
|
||||
};
|
||||
|
||||
class WVMExtractor : public MediaExtractor {
|
||||
public:
|
||||
WVMExtractor(const sp<DataSource> &source);
|
||||
@ -49,20 +58,15 @@ public:
|
||||
// is used.
|
||||
void setAdaptiveStreamingMode(bool adaptive);
|
||||
|
||||
// Retrieve the adaptive streaming mode used by the WV component.
|
||||
bool getAdaptiveStreamingMode() const;
|
||||
|
||||
protected:
|
||||
virtual ~WVMExtractor();
|
||||
|
||||
private:
|
||||
sp<DataSource> mDataSource;
|
||||
sp<MediaExtractor> mImpl;
|
||||
bool mUseAdaptiveStreaming;
|
||||
sp<WVMLoadableExtractor> mImpl;
|
||||
|
||||
WVMExtractor(const WVMExtractor &);
|
||||
WVMExtractor &operator=(const WVMExtractor &);
|
||||
|
||||
};
|
||||
|
||||
} // namespace android
|
||||
|
Reference in New Issue
Block a user