Loading include/media/stagefright/NuMediaExtractor.h +3 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <utils/KeyedVector.h> #include <utils/RefBase.h> #include <utils/String8.h> #include <utils/threads.h> #include <utils/Vector.h> namespace android { Loading Loading @@ -81,6 +82,8 @@ private: uint32_t mTrackFlags; // bitmask of "TrackFlags" }; mutable Mutex mLock; sp<DataSource> mDataSource; sp<MediaExtractor> mImpl; Loading media/libstagefright/NuMediaExtractor.cpp +24 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,8 @@ NuMediaExtractor::~NuMediaExtractor() { status_t NuMediaExtractor::setDataSource( const char *path, const KeyedVector<String8, String8> *headers) { Mutex::Autolock autoLock(mLock); if (mImpl != NULL) { return -EINVAL; } Loading Loading @@ -104,6 +106,8 @@ status_t NuMediaExtractor::setDataSource( } status_t NuMediaExtractor::setDataSource(int fd, off64_t offset, off64_t size) { Mutex::Autolock autoLock(mLock); if (mImpl != NULL) { return -EINVAL; } Loading Loading @@ -155,11 +159,15 @@ void NuMediaExtractor::updateDurationAndBitrate() { } size_t NuMediaExtractor::countTracks() const { Mutex::Autolock autoLock(mLock); return mImpl == NULL ? 0 : mImpl->countTracks(); } status_t NuMediaExtractor::getTrackFormat( size_t index, sp<AMessage> *format) const { Mutex::Autolock autoLock(mLock); *format = NULL; if (mImpl == NULL) { Loading Loading @@ -335,6 +343,8 @@ status_t NuMediaExtractor::getTrackFormat( } status_t NuMediaExtractor::selectTrack(size_t index) { Mutex::Autolock autoLock(mLock); if (mImpl == NULL) { return -EINVAL; } Loading Loading @@ -438,6 +448,8 @@ ssize_t NuMediaExtractor::fetchTrackSamples(int64_t seekTimeUs) { } status_t NuMediaExtractor::seekTo(int64_t timeUs) { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(timeUs); if (minIndex < 0) { Loading @@ -448,6 +460,8 @@ status_t NuMediaExtractor::seekTo(int64_t timeUs) { } status_t NuMediaExtractor::advance() { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(); if (minIndex < 0) { Loading @@ -464,6 +478,8 @@ status_t NuMediaExtractor::advance() { } status_t NuMediaExtractor::readSampleData(const sp<ABuffer> &buffer) { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(); if (minIndex < 0) { Loading Loading @@ -508,6 +524,8 @@ status_t NuMediaExtractor::readSampleData(const sp<ABuffer> &buffer) { } status_t NuMediaExtractor::getSampleTrackIndex(size_t *trackIndex) { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(); if (minIndex < 0) { Loading @@ -521,6 +539,8 @@ status_t NuMediaExtractor::getSampleTrackIndex(size_t *trackIndex) { } status_t NuMediaExtractor::getSampleTime(int64_t *sampleTimeUs) { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(); if (minIndex < 0) { Loading @@ -534,6 +554,8 @@ status_t NuMediaExtractor::getSampleTime(int64_t *sampleTimeUs) { } status_t NuMediaExtractor::getSampleMeta(sp<MetaData> *sampleMeta) { Mutex::Autolock autoLock(mLock); *sampleMeta = NULL; ssize_t minIndex = fetchTrackSamples(); Loading Loading @@ -566,6 +588,8 @@ bool NuMediaExtractor::getTotalBitrate(int64_t *bitrate) const { // Returns true iff cached duration is available/applicable. bool NuMediaExtractor::getCachedDuration( int64_t *durationUs, bool *eos) const { Mutex::Autolock autoLock(mLock); int64_t bitrate; if (mIsWidevineExtractor) { sp<WVMExtractor> wvmExtractor = Loading Loading
include/media/stagefright/NuMediaExtractor.h +3 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <utils/KeyedVector.h> #include <utils/RefBase.h> #include <utils/String8.h> #include <utils/threads.h> #include <utils/Vector.h> namespace android { Loading Loading @@ -81,6 +82,8 @@ private: uint32_t mTrackFlags; // bitmask of "TrackFlags" }; mutable Mutex mLock; sp<DataSource> mDataSource; sp<MediaExtractor> mImpl; Loading
media/libstagefright/NuMediaExtractor.cpp +24 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,8 @@ NuMediaExtractor::~NuMediaExtractor() { status_t NuMediaExtractor::setDataSource( const char *path, const KeyedVector<String8, String8> *headers) { Mutex::Autolock autoLock(mLock); if (mImpl != NULL) { return -EINVAL; } Loading Loading @@ -104,6 +106,8 @@ status_t NuMediaExtractor::setDataSource( } status_t NuMediaExtractor::setDataSource(int fd, off64_t offset, off64_t size) { Mutex::Autolock autoLock(mLock); if (mImpl != NULL) { return -EINVAL; } Loading Loading @@ -155,11 +159,15 @@ void NuMediaExtractor::updateDurationAndBitrate() { } size_t NuMediaExtractor::countTracks() const { Mutex::Autolock autoLock(mLock); return mImpl == NULL ? 0 : mImpl->countTracks(); } status_t NuMediaExtractor::getTrackFormat( size_t index, sp<AMessage> *format) const { Mutex::Autolock autoLock(mLock); *format = NULL; if (mImpl == NULL) { Loading Loading @@ -335,6 +343,8 @@ status_t NuMediaExtractor::getTrackFormat( } status_t NuMediaExtractor::selectTrack(size_t index) { Mutex::Autolock autoLock(mLock); if (mImpl == NULL) { return -EINVAL; } Loading Loading @@ -438,6 +448,8 @@ ssize_t NuMediaExtractor::fetchTrackSamples(int64_t seekTimeUs) { } status_t NuMediaExtractor::seekTo(int64_t timeUs) { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(timeUs); if (minIndex < 0) { Loading @@ -448,6 +460,8 @@ status_t NuMediaExtractor::seekTo(int64_t timeUs) { } status_t NuMediaExtractor::advance() { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(); if (minIndex < 0) { Loading @@ -464,6 +478,8 @@ status_t NuMediaExtractor::advance() { } status_t NuMediaExtractor::readSampleData(const sp<ABuffer> &buffer) { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(); if (minIndex < 0) { Loading Loading @@ -508,6 +524,8 @@ status_t NuMediaExtractor::readSampleData(const sp<ABuffer> &buffer) { } status_t NuMediaExtractor::getSampleTrackIndex(size_t *trackIndex) { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(); if (minIndex < 0) { Loading @@ -521,6 +539,8 @@ status_t NuMediaExtractor::getSampleTrackIndex(size_t *trackIndex) { } status_t NuMediaExtractor::getSampleTime(int64_t *sampleTimeUs) { Mutex::Autolock autoLock(mLock); ssize_t minIndex = fetchTrackSamples(); if (minIndex < 0) { Loading @@ -534,6 +554,8 @@ status_t NuMediaExtractor::getSampleTime(int64_t *sampleTimeUs) { } status_t NuMediaExtractor::getSampleMeta(sp<MetaData> *sampleMeta) { Mutex::Autolock autoLock(mLock); *sampleMeta = NULL; ssize_t minIndex = fetchTrackSamples(); Loading Loading @@ -566,6 +588,8 @@ bool NuMediaExtractor::getTotalBitrate(int64_t *bitrate) const { // Returns true iff cached duration is available/applicable. bool NuMediaExtractor::getCachedDuration( int64_t *durationUs, bool *eos) const { Mutex::Autolock autoLock(mLock); int64_t bitrate; if (mIsWidevineExtractor) { sp<WVMExtractor> wvmExtractor = Loading