Use media_status_t instead of status_t in extractor interface
Bug: 111407253
Test: CTS
Change-Id: Iabf0e033f553a398b70bdf616261fbdabc6f71f8
diff --git a/include/media/MediaExtractorPluginApi.h b/include/media/MediaExtractorPluginApi.h
index b071a58..38962e5 100644
--- a/include/media/MediaExtractorPluginApi.h
+++ b/include/media/MediaExtractorPluginApi.h
@@ -18,7 +18,7 @@
#define MEDIA_EXTRACTOR_PLUGIN_API_H_
#include <utils/Errors.h> // for status_t
-
+#include <media/NdkMediaError.h>
struct AMediaFormat;
namespace android {
@@ -62,10 +62,10 @@
void *data;
void (*free)(void *data);
- status_t (*start)(void *data);
- status_t (*stop)(void *data);
- status_t (*getFormat)(void *data, AMediaFormat *format);
- status_t (*read)(void *data, MediaBufferBase **buffer, uint32_t options, int64_t seekPosUs);
+ media_status_t (*start)(void *data);
+ media_status_t (*stop)(void *data);
+ media_status_t (*getFormat)(void *data, AMediaFormat *format);
+ media_status_t (*read)(void *data, MediaBufferBase **buffer, uint32_t options, int64_t seekPosUs);
bool (*supportsNonBlockingRead)(void *data);
};
@@ -93,14 +93,14 @@
void (*free)(void *data);
size_t (*countTracks)(void *data);
CMediaTrackV2* (*getTrack)(void *data, size_t index);
- status_t (*getTrackMetaData)(
+ media_status_t (*getTrackMetaData)(
void *data,
AMediaFormat *meta,
size_t index, uint32_t flags);
- status_t (*getMetaData)(void *data, AMediaFormat *meta);
+ media_status_t (*getMetaData)(void *data, AMediaFormat *meta);
uint32_t (*flags)(void *data);
- status_t (*setMediaCas)(void *data, const uint8_t* casToken, size_t size);
+ media_status_t (*setMediaCas)(void *data, const uint8_t* casToken, size_t size);
const char * (*name)(void *data);
};
diff --git a/include/media/MediaExtractorPluginHelper.h b/include/media/MediaExtractorPluginHelper.h
index d76d5f8..858c575 100644
--- a/include/media/MediaExtractorPluginHelper.h
+++ b/include/media/MediaExtractorPluginHelper.h
@@ -106,9 +106,9 @@
class MediaTrackHelperV2 {
public:
virtual ~MediaTrackHelperV2() {};
- virtual status_t start() = 0;
- virtual status_t stop() = 0;
- virtual status_t getFormat(AMediaFormat *format) = 0;
+ virtual media_status_t start() = 0;
+ virtual media_status_t stop() = 0;
+ virtual media_status_t getFormat(AMediaFormat *format) = 0;
class ReadOptions {
public:
@@ -140,7 +140,7 @@
int64_t mSeekPosUs;
};
- virtual status_t read(
+ virtual media_status_t read(
MediaBufferBase **buffer, const ReadOptions *options = NULL) = 0;
virtual bool supportsNonBlockingRead() { return false; }
};
@@ -151,17 +151,17 @@
wrapper->free = [](void *data) -> void {
delete (MediaTrackHelperV2*)(data);
};
- wrapper->start = [](void *data) -> status_t {
+ wrapper->start = [](void *data) -> media_status_t {
return ((MediaTrackHelperV2*)data)->start();
};
- wrapper->stop = [](void *data) -> status_t {
+ wrapper->stop = [](void *data) -> media_status_t {
return ((MediaTrackHelperV2*)data)->stop();
};
- wrapper->getFormat = [](void *data, AMediaFormat *meta) -> status_t {
+ wrapper->getFormat = [](void *data, AMediaFormat *meta) -> media_status_t {
return ((MediaTrackHelperV2*)data)->getFormat(meta);
};
wrapper->read = [](void *data, MediaBufferBase **buffer, uint32_t options, int64_t seekPosUs)
- -> status_t {
+ -> media_status_t {
MediaTrackHelperV2::ReadOptions opts(options, seekPosUs);
return ((MediaTrackHelperV2*)data)->read(buffer, &opts);
};
@@ -268,13 +268,13 @@
enum GetTrackMetaDataFlags {
kIncludeExtensiveMetaData = 1
};
- virtual status_t getTrackMetaData(
+ virtual media_status_t getTrackMetaData(
AMediaFormat *meta,
size_t index, uint32_t flags = 0) = 0;
// Return container specific meta-data. The default implementation
// returns an empty metadata object.
- virtual status_t getMetaData(AMediaFormat *meta) = 0;
+ virtual media_status_t getMetaData(AMediaFormat *meta) = 0;
enum Flags {
CAN_SEEK_BACKWARD = 1, // the "seek 10secs back button"
@@ -289,8 +289,8 @@
return CAN_SEEK_BACKWARD | CAN_SEEK_FORWARD | CAN_SEEK | CAN_PAUSE;
};
- virtual status_t setMediaCas(const uint8_t* /*casToken*/, size_t /*size*/) {
- return INVALID_OPERATION;
+ virtual media_status_t setMediaCas(const uint8_t* /*casToken*/, size_t /*size*/) {
+ return AMEDIA_ERROR_INVALID_OPERATION;
}
virtual const char * name() { return "<unspecified>"; }
@@ -318,12 +318,12 @@
wrapper->getTrackMetaData = [](
void *data,
AMediaFormat *meta,
- size_t index, uint32_t flags) -> status_t {
+ size_t index, uint32_t flags) -> media_status_t {
return ((MediaExtractorPluginHelperV2*)data)->getTrackMetaData(meta, index, flags);
};
wrapper->getMetaData = [](
void *data,
- AMediaFormat *meta) -> status_t {
+ AMediaFormat *meta) -> media_status_t {
return ((MediaExtractorPluginHelperV2*)data)->getMetaData(meta);
};
wrapper->flags = [](
@@ -331,7 +331,7 @@
return ((MediaExtractorPluginHelperV2*)data)->flags();
};
wrapper->setMediaCas = [](
- void *data, const uint8_t *casToken, size_t size) -> status_t {
+ void *data, const uint8_t *casToken, size_t size) -> media_status_t {
return ((MediaExtractorPluginHelperV2*)data)->setMediaCas(casToken, size);
};
wrapper->name = [](
diff --git a/media/ndk/NdkMediaErrorPriv.h b/include/media/NdkMediaErrorPriv.h
similarity index 100%
rename from media/ndk/NdkMediaErrorPriv.h
rename to include/media/NdkMediaErrorPriv.h
diff --git a/media/extractors/aac/AACExtractor.cpp b/media/extractors/aac/AACExtractor.cpp
index f179e03..f278107 100644
--- a/media/extractors/aac/AACExtractor.cpp
+++ b/media/extractors/aac/AACExtractor.cpp
@@ -39,12 +39,12 @@
const Vector<uint64_t> &offset_vector,
int64_t frame_duration_us);
- virtual status_t start();
- virtual status_t stop();
+ virtual media_status_t start();
+ virtual media_status_t stop();
- virtual status_t getFormat(AMediaFormat*);
+ virtual media_status_t getFormat(AMediaFormat*);
- virtual status_t read(
+ virtual media_status_t read(
MediaBufferBase **buffer, const ReadOptions *options = NULL);
protected:
@@ -183,13 +183,13 @@
AMediaFormat_delete(mMeta);
}
-status_t AACExtractor::getMetaData(AMediaFormat *meta) {
+media_status_t AACExtractor::getMetaData(AMediaFormat *meta) {
AMediaFormat_clear(meta);
if (mInitCheck == OK) {
AMediaFormat_setString(meta, AMEDIAFORMAT_KEY_MIME, MEDIA_MIMETYPE_AUDIO_AAC_ADTS);
}
- return OK;
+ return AMEDIA_OK;
}
size_t AACExtractor::countTracks() {
@@ -204,13 +204,12 @@
return new AACSource(mDataSource, mMeta, mOffsetVector, mFrameDurationUs);
}
-status_t AACExtractor::getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t /* flags */) {
+media_status_t AACExtractor::getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t /* flags */) {
if (mInitCheck != OK || index != 0) {
- return UNKNOWN_ERROR;
+ return AMEDIA_ERROR_UNKNOWN;
}
- AMediaFormat_copy(meta, mMeta);
- return OK;
+ return AMediaFormat_copy(meta, mMeta);
}
////////////////////////////////////////////////////////////////////////////////
@@ -239,7 +238,7 @@
}
}
-status_t AACSource::start() {
+media_status_t AACSource::start() {
CHECK(!mStarted);
if (mOffsetVector.empty()) {
@@ -253,25 +252,24 @@
mGroup->add_buffer(MediaBufferBase::Create(kMaxFrameSize));
mStarted = true;
- return OK;
+ return AMEDIA_OK;
}
-status_t AACSource::stop() {
+media_status_t AACSource::stop() {
CHECK(mStarted);
delete mGroup;
mGroup = NULL;
mStarted = false;
- return OK;
+ return AMEDIA_OK;
}
-status_t AACSource::getFormat(AMediaFormat *meta) {
- AMediaFormat_copy(meta, mMeta);
- return OK;
+media_status_t AACSource::getFormat(AMediaFormat *meta) {
+ return AMediaFormat_copy(meta, mMeta);
}
-status_t AACSource::read(
+media_status_t AACSource::read(
MediaBufferBase **out, const ReadOptions *options) {
*out = NULL;
@@ -282,7 +280,7 @@
int64_t seekFrame = seekTimeUs / mFrameDurationUs;
if (seekFrame < 0 || seekFrame >= (int64_t)mOffsetVector.size()) {
android_errorWriteLog(0x534e4554, "70239507");
- return ERROR_MALFORMED;
+ return AMEDIA_ERROR_MALFORMED;
}
mCurrentTimeUs = seekFrame * mFrameDurationUs;
@@ -292,13 +290,13 @@
size_t frameSize, frameSizeWithoutHeader, headerSize;
if ((frameSize = getAdtsFrameLength(mDataSource, mOffset, &headerSize)) == 0) {
- return ERROR_END_OF_STREAM;
+ return AMEDIA_ERROR_END_OF_STREAM;
}
MediaBufferBase *buffer;
status_t err = mGroup->acquire_buffer(&buffer);
if (err != OK) {
- return err;
+ return AMEDIA_ERROR_UNKNOWN;
}
frameSizeWithoutHeader = frameSize - headerSize;
@@ -307,7 +305,7 @@
buffer->release();
buffer = NULL;
- return ERROR_IO;
+ return AMEDIA_ERROR_IO;
}
buffer->set_range(0, frameSizeWithoutHeader);
@@ -318,7 +316,7 @@
mCurrentTimeUs += mFrameDurationUs;
*out = buffer;
- return OK;
+ return AMEDIA_OK;
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/media/extractors/aac/AACExtractor.h b/media/extractors/aac/AACExtractor.h
index add7d22..3b11f95 100644
--- a/media/extractors/aac/AACExtractor.h
+++ b/media/extractors/aac/AACExtractor.h
@@ -35,9 +35,9 @@
virtual size_t countTracks();
virtual MediaTrackHelperV2 *getTrack(size_t index);
- virtual status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);
+ virtual media_status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);
- virtual status_t getMetaData(AMediaFormat *meta);
+ virtual media_status_t getMetaData(AMediaFormat *meta);
virtual const char * name() { return "AACExtractor"; }
protected:
diff --git a/media/extractors/amr/AMRExtractor.cpp b/media/extractors/amr/AMRExtractor.cpp
index 99d24c9..511b14d 100644
--- a/media/extractors/amr/AMRExtractor.cpp
+++ b/media/extractors/amr/AMRExtractor.cpp
@@ -38,12 +38,12 @@
const off64_t *offset_table,
size_t offset_table_length);
- virtual status_t start();
- virtual status_t stop();
+ virtual media_status_t start();
+ virtual media_status_t stop();
- virtual status_t getFormat(AMediaFormat *);
+ virtual media_status_t getFormat(AMediaFormat *);
- virtual status_t read(
+ virtual media_status_t read(
MediaBufferBase **buffer, const ReadOptions *options = NULL);
protected:
@@ -96,23 +96,23 @@
return frameSize;
}
-static status_t getFrameSizeByOffset(DataSourceHelper *source,
+static media_status_t getFrameSizeByOffset(DataSourceHelper *source,
off64_t offset, bool isWide, size_t *frameSize) {
uint8_t header;
ssize_t count = source->readAt(offset, &header, 1);
if (count == 0) {
- return ERROR_END_OF_STREAM;
+ return AMEDIA_ERROR_END_OF_STREAM;
} else if (count < 0) {
- return ERROR_IO;
+ return AMEDIA_ERROR_IO;
}
unsigned FT = (header >> 3) & 0x0f;
*frameSize = getFrameSize(isWide, FT);
if (*frameSize == 0) {
- return ERROR_MALFORMED;
+ return AMEDIA_ERROR_MALFORMED;
}
- return OK;
+ return AMEDIA_OK;
}
static bool SniffAMR(
@@ -194,7 +194,7 @@
AMediaFormat_delete(mMeta);
}
-status_t AMRExtractor::getMetaData(AMediaFormat *meta) {
+media_status_t AMRExtractor::getMetaData(AMediaFormat *meta) {
AMediaFormat_clear(meta);
if (mInitCheck == OK) {
@@ -202,7 +202,7 @@
AMEDIAFORMAT_KEY_MIME, mIsWide ? "audio/amr-wb" : "audio/amr");
}
- return OK;
+ return AMEDIA_OK;
}
size_t AMRExtractor::countTracks() {
@@ -218,13 +218,12 @@
mOffsetTable, mOffsetTableLength);
}
-status_t AMRExtractor::getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t /* flags */) {
+media_status_t AMRExtractor::getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t /* flags */) {
if (mInitCheck != OK || index != 0) {
- return UNKNOWN_ERROR;
+ return AMEDIA_ERROR_UNKNOWN;
}
- AMediaFormat_copy(meta, mMeta);
- return OK;
+ return AMediaFormat_copy(meta, mMeta);
}
////////////////////////////////////////////////////////////////////////////////
@@ -251,7 +250,7 @@
}
}
-status_t AMRSource::start() {
+media_status_t AMRSource::start() {
CHECK(!mStarted);
mOffset = mIsWide ? 9 : 6;
@@ -260,25 +259,24 @@
mGroup->add_buffer(MediaBufferBase::Create(128));
mStarted = true;
- return OK;
+ return AMEDIA_OK;
}
-status_t AMRSource::stop() {
+media_status_t AMRSource::stop() {
CHECK(mStarted);
delete mGroup;
mGroup = NULL;
mStarted = false;
- return OK;
+ return AMEDIA_OK;
}
-status_t AMRSource::getFormat(AMediaFormat *meta) {
- AMediaFormat_copy(meta, mMeta);
- return OK;
+media_status_t AMRSource::getFormat(AMediaFormat *meta) {
+ return AMediaFormat_copy(meta, mMeta);
}
-status_t AMRSource::read(
+media_status_t AMRSource::read(
MediaBufferBase **out, const ReadOptions *options) {
*out = NULL;
@@ -297,7 +295,7 @@
mOffset = mOffsetTable[index] + (mIsWide ? 9 : 6);
for (size_t i = 0; i< seekFrame - index * 50; i++) {
- status_t err;
+ media_status_t err;
if ((err = getFrameSizeByOffset(mDataSource, mOffset,
mIsWide, &size)) != OK) {
return err;
@@ -310,7 +308,7 @@
ssize_t n = mDataSource->readAt(mOffset, &header, 1);
if (n < 1) {
- return ERROR_END_OF_STREAM;
+ return AMEDIA_ERROR_END_OF_STREAM;
}
if (header & 0x83) {
@@ -318,20 +316,20 @@
ALOGE("padding bits must be 0, header is 0x%02x", header);
- return ERROR_MALFORMED;
+ return AMEDIA_ERROR_MALFORMED;
}
unsigned FT = (header >> 3) & 0x0f;
size_t frameSize = getFrameSize(mIsWide, FT);
if (frameSize == 0) {
- return ERROR_MALFORMED;
+ return AMEDIA_ERROR_MALFORMED;
}
MediaBufferBase *buffer;
status_t err = mGroup->acquire_buffer(&buffer);
if (err != OK) {
- return err;
+ return AMEDIA_ERROR_UNKNOWN;
}
n = mDataSource->readAt(mOffset, buffer->data(), frameSize);
@@ -341,11 +339,11 @@
buffer = NULL;
if (n < 0) {
- return ERROR_IO;
+ return AMEDIA_ERROR_IO;
} else {
// only partial frame is available, treat it as EOS.
mOffset += n;
- return ERROR_END_OF_STREAM;
+ return AMEDIA_ERROR_END_OF_STREAM;
}
}
@@ -358,7 +356,7 @@
*out = buffer;
- return OK;
+ return AMEDIA_OK;
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/media/extractors/amr/AMRExtractor.h b/media/extractors/amr/AMRExtractor.h
index 145fe08..44b2cbd 100644
--- a/media/extractors/amr/AMRExtractor.h
+++ b/media/extractors/amr/AMRExtractor.h
@@ -35,9 +35,9 @@
virtual size_t countTracks();
virtual MediaTrackHelperV2 *getTrack(size_t index);
- virtual status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);
+ virtual media_status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);
- virtual status_t getMetaData(AMediaFormat *meta);
+ virtual media_status_t getMetaData(AMediaFormat *meta);
virtual const char * name() { return "AMRExtractor"; }
protected:
diff --git a/media/extractors/midi/MidiExtractor.cpp b/media/extractors/midi/MidiExtractor.cpp
index 9c2c863..cd39cec 100644
--- a/media/extractors/midi/MidiExtractor.cpp
+++ b/media/extractors/midi/MidiExtractor.cpp
@@ -40,11 +40,11 @@
MidiEngine &engine,
AMediaFormat *trackMetadata);
- virtual status_t start();
- virtual status_t stop();
- virtual status_t getFormat(AMediaFormat *);
+ virtual media_status_t start();
+ virtual media_status_t stop();
+ virtual media_status_t getFormat(AMediaFormat *);
- virtual status_t read(
+ virtual media_status_t read(
MediaBufferBase **buffer, const ReadOptions *options = NULL);
protected:
@@ -87,17 +87,17 @@
}
}
-status_t MidiSource::start()
+media_status_t MidiSource::start()
{
ALOGV("MidiSource::start");
CHECK(!mStarted);
mStarted = true;
mEngine.allocateBuffers();
- return OK;
+ return AMEDIA_OK;
}
-status_t MidiSource::stop()
+media_status_t MidiSource::stop()
{
ALOGV("MidiSource::stop");
@@ -105,16 +105,15 @@
mStarted = false;
mEngine.releaseBuffers();
- return OK;
+ return AMEDIA_OK;
}
-status_t MidiSource::getFormat(AMediaFormat *meta)
+media_status_t MidiSource::getFormat(AMediaFormat *meta)
{
- AMediaFormat_copy(meta, mTrackMetadata);
- return OK;
+ return AMediaFormat_copy(meta, mTrackMetadata);
}
-status_t MidiSource::read(
+media_status_t MidiSource::read(
MediaBufferBase **outBuffer, const ReadOptions *options)
{
ALOGV("MidiSource::read");
@@ -131,7 +130,7 @@
buffer = mEngine.readBuffer();
*outBuffer = buffer;
ALOGV("MidiSource::read %p done", this);
- return buffer != NULL ? (status_t) OK : (status_t) ERROR_END_OF_STREAM;
+ return buffer != NULL ? AMEDIA_OK : AMEDIA_ERROR_END_OF_STREAM;
}
status_t MidiSource::init()
@@ -298,22 +297,20 @@
return new MidiSource(*mEngine, mTrackMetadata);
}
-status_t MidiExtractor::getTrackMetaData(
+media_status_t MidiExtractor::getTrackMetaData(
AMediaFormat *meta,
size_t index, uint32_t /* flags */) {
ALOGV("MidiExtractor::getTrackMetaData");
if (mInitCheck != OK || index > 0) {
- return UNKNOWN_ERROR;
+ return AMEDIA_ERROR_UNKNOWN;
}
- AMediaFormat_copy(meta, mTrackMetadata);
- return OK;
+ return AMediaFormat_copy(meta, mTrackMetadata);
}
-status_t MidiExtractor::getMetaData(AMediaFormat *meta)
+media_status_t MidiExtractor::getMetaData(AMediaFormat *meta)
{
ALOGV("MidiExtractor::getMetaData");
- AMediaFormat_copy(meta, mFileMetadata);
- return OK;
+ return AMediaFormat_copy(meta, mFileMetadata);
}
// Sniffer
diff --git a/media/extractors/midi/MidiExtractor.h b/media/extractors/midi/MidiExtractor.h
index d82c5be..412d6eb 100644
--- a/media/extractors/midi/MidiExtractor.h
+++ b/media/extractors/midi/MidiExtractor.h
@@ -58,9 +58,9 @@
virtual size_t countTracks();
virtual MediaTrackHelperV2 *getTrack(size_t index);
- virtual status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);
+ virtual media_status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);
- virtual status_t getMetaData(AMediaFormat *meta);
+ virtual media_status_t getMetaData(AMediaFormat *meta);
virtual const char * name() { return "MidiExtractor"; }
protected:
diff --git a/media/extractors/wav/WAVExtractor.cpp b/media/extractors/wav/WAVExtractor.cpp
index cc1a501..9a329f1 100644
--- a/media/extractors/wav/WAVExtractor.cpp
+++ b/media/extractors/wav/WAVExtractor.cpp
@@ -62,11 +62,11 @@
int32_t bitsPerSample,
off64_t offset, size_t size);
- virtual status_t start();
- virtual status_t stop();
- virtual status_t getFormat(AMediaFormat *meta);
+ virtual media_status_t start();
+ virtual media_status_t stop();
+ virtual media_status_t getFormat(AMediaFormat *meta);
- virtual status_t read(
+ virtual media_status_t read(
MediaBufferBase **buffer, const ReadOptions *options = NULL);
virtual bool supportNonblockingRead() { return true; }
@@ -106,13 +106,13 @@
AMediaFormat_delete(mTrackMeta);
}
-status_t WAVExtractor::getMetaData(AMediaFormat *meta) {
+media_status_t WAVExtractor::getMetaData(AMediaFormat *meta) {
AMediaFormat_clear(meta);
if (mInitCheck == OK) {
AMediaFormat_setString(meta, AMEDIAFORMAT_KEY_MIME, MEDIA_MIMETYPE_CONTAINER_WAV);
}
- return OK;
+ return AMEDIA_OK;
}
size_t WAVExtractor::countTracks() {
@@ -129,15 +129,14 @@
mWaveFormat, mBitsPerSample, mDataOffset, mDataSize);
}
-status_t WAVExtractor::getTrackMetaData(
+media_status_t WAVExtractor::getTrackMetaData(
AMediaFormat *meta,
size_t index, uint32_t /* flags */) {
if (mInitCheck != OK || index > 0) {
- return UNKNOWN_ERROR;
+ return AMEDIA_ERROR_UNKNOWN;
}
- AMediaFormat_copy(meta, mTrackMeta);
- return OK;
+ return AMediaFormat_copy(meta, mTrackMeta);
}
status_t WAVExtractor::init() {
@@ -187,7 +186,7 @@
&& mWaveFormat != WAVE_FORMAT_MULAW
&& mWaveFormat != WAVE_FORMAT_MSGSM
&& mWaveFormat != WAVE_FORMAT_EXTENSIBLE) {
- return ERROR_UNSUPPORTED;
+ return AMEDIA_ERROR_UNSUPPORTED;
}
uint8_t fmtSize = 16;
@@ -202,7 +201,7 @@
if (mNumChannels < 1 || mNumChannels > 8) {
ALOGE("Unsupported number of channels (%d)", mNumChannels);
- return ERROR_UNSUPPORTED;
+ return AMEDIA_ERROR_UNSUPPORTED;
}
if (mWaveFormat != WAVE_FORMAT_EXTENSIBLE) {
@@ -226,7 +225,7 @@
if (validBitsPerSample != 0) {
ALOGE("validBits(%d) != bitsPerSample(%d) are not supported",
validBitsPerSample, mBitsPerSample);
- return ERROR_UNSUPPORTED;
+ return AMEDIA_ERROR_UNSUPPORTED;
} else {
// we only support valitBitsPerSample == bitsPerSample but some WAV_EXT
// writers don't correctly set the valid bits value, and leave it at 0.
@@ -324,12 +323,12 @@
size_t bytesPerSample = mBitsPerSample >> 3;
if (!bytesPerSample || !mNumChannels)
- return ERROR_MALFORMED;
+ return AMEDIA_ERROR_MALFORMED;
size_t num_samples = mDataSize / (mNumChannels * bytesPerSample);
if (!mSampleRate)
- return ERROR_MALFORMED;
+ return AMEDIA_ERROR_MALFORMED;
durationUs =
1000000LL * num_samples / mSampleRate;
@@ -377,7 +376,7 @@
}
}
-status_t WAVSource::start() {
+media_status_t WAVSource::start() {
ALOGV("WAVSource::start");
CHECK(!mStarted);
@@ -394,10 +393,10 @@
mStarted = true;
- return OK;
+ return AMEDIA_OK;
}
-status_t WAVSource::stop() {
+media_status_t WAVSource::stop() {
ALOGV("WAVSource::stop");
CHECK(mStarted);
@@ -407,22 +406,21 @@
mStarted = false;
- return OK;
+ return AMEDIA_OK;
}
-status_t WAVSource::getFormat(AMediaFormat *meta) {
+media_status_t WAVSource::getFormat(AMediaFormat *meta) {
ALOGV("WAVSource::getFormat");
- AMediaFormat_copy(meta, mMeta);
- return OK;
+ return AMediaFormat_copy(meta, mMeta);
}
-status_t WAVSource::read(
+media_status_t WAVSource::read(
MediaBufferBase **out, const ReadOptions *options) {
*out = NULL;
if (options != nullptr && options->getNonBlocking() && !mGroup->has_buffers()) {
- return WOULD_BLOCK;
+ return AMEDIA_ERROR_WOULD_BLOCK;
}
int64_t seekTimeUs;
@@ -447,7 +445,7 @@
MediaBufferBase *buffer;
status_t err = mGroup->acquire_buffer(&buffer);
if (err != OK) {
- return err;
+ return AMEDIA_ERROR_UNKNOWN;
}
// make sure that maxBytesToRead is multiple of 3, in 24-bit case
@@ -484,7 +482,7 @@
buffer->release();
buffer = NULL;
- return ERROR_END_OF_STREAM;
+ return AMEDIA_ERROR_END_OF_STREAM;
}
buffer->set_range(0, n);
@@ -542,7 +540,7 @@
*out = buffer;
- return OK;
+ return AMEDIA_OK;
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/media/extractors/wav/WAVExtractor.h b/media/extractors/wav/WAVExtractor.h
index 2822e80..ce34881 100644
--- a/media/extractors/wav/WAVExtractor.h
+++ b/media/extractors/wav/WAVExtractor.h
@@ -35,9 +35,9 @@
virtual size_t countTracks();
virtual MediaTrackHelperV2 *getTrack(size_t index);
- virtual status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);
+ virtual media_status_t getTrackMetaData(AMediaFormat *meta, size_t index, uint32_t flags);
- virtual status_t getMetaData(AMediaFormat *meta);
+ virtual media_status_t getMetaData(AMediaFormat *meta);
virtual const char * name() { return "WAVExtractor"; }
virtual ~WAVExtractor();
diff --git a/media/libmedia/Android.bp b/media/libmedia/Android.bp
index bb87b10..93fb667 100644
--- a/media/libmedia/Android.bp
+++ b/media/libmedia/Android.bp
@@ -128,6 +128,10 @@
"libsonivox",
],
+ header_libs: [
+ "media_ndk_headers",
+ ],
+
cflags: [
"-Werror",
"-Wno-error=deprecated-declarations",
@@ -193,6 +197,7 @@
"Visualizer.cpp",
"StringArray.cpp",
"NdkMediaFormatPriv.cpp",
+ "NdkMediaErrorPriv.cpp",
],
aidl: {
@@ -202,10 +207,12 @@
header_libs: [
"libstagefright_headers",
+ "media_ndk_headers",
],
export_header_lib_headers: [
"libstagefright_headers",
+ "media_ndk_headers",
],
shared_libs: [
diff --git a/media/libmedia/IMediaPlayerService.cpp b/media/libmedia/IMediaPlayerService.cpp
index aca7ad9..bd18a40 100644
--- a/media/libmedia/IMediaPlayerService.cpp
+++ b/media/libmedia/IMediaPlayerService.cpp
@@ -23,6 +23,7 @@
#include <media/IMediaCodecList.h>
#include <media/IMediaHTTPService.h>
#include <media/IMediaPlayerService.h>
+#include <media/IMediaPlayer.h>
#include <media/IMediaRecorder.h>
#include <media/IOMX.h>
#include <media/IRemoteDisplay.h>
diff --git a/media/ndk/NdkMediaError.cpp b/media/libmedia/NdkMediaErrorPriv.cpp
similarity index 94%
rename from media/ndk/NdkMediaError.cpp
rename to media/libmedia/NdkMediaErrorPriv.cpp
index 2facd8c..d061f5a 100644
--- a/media/ndk/NdkMediaError.cpp
+++ b/media/libmedia/NdkMediaErrorPriv.cpp
@@ -43,6 +43,8 @@
return ERROR_END_OF_STREAM;
} else if (err == AMEDIA_ERROR_IO) {
return ERROR_IO;
+ } else if (err == AMEDIA_ERROR_WOULD_BLOCK) {
+ return WOULD_BLOCK;
}
ALOGE("ndk error code: %d", err);
diff --git a/media/libmedia/include/media/IMediaPlayerService.h b/media/libmedia/include/media/IMediaPlayerService.h
index 217de14..f2e2060 100644
--- a/media/libmedia/include/media/IMediaPlayerService.h
+++ b/media/libmedia/include/media/IMediaPlayerService.h
@@ -26,11 +26,11 @@
#include <system/audio.h>
#include <media/IMediaPlayerClient.h>
-#include <media/IMediaPlayer.h>
#include <media/IMediaMetadataRetriever.h>
namespace android {
+class IMediaPlayer;
class IMediaCodecList;
struct IMediaHTTPService;
class IMediaRecorder;
diff --git a/media/libmediaextractor/Android.bp b/media/libmediaextractor/Android.bp
index cf7d74f..4ffbb69 100644
--- a/media/libmediaextractor/Android.bp
+++ b/media/libmediaextractor/Android.bp
@@ -22,6 +22,14 @@
"liblog",
],
+ header_libs: [
+ "media_ndk_headers",
+ ],
+
+ export_header_lib_headers: [
+ "media_ndk_headers",
+ ],
+
srcs: [
"DataSourceBase.cpp",
"MediaBuffer.cpp",
diff --git a/media/libstagefright/Android.bp b/media/libstagefright/Android.bp
index 5eae2b3..3208d16 100644
--- a/media/libstagefright/Android.bp
+++ b/media/libstagefright/Android.bp
@@ -194,6 +194,10 @@
"libFLAC",
],
+ header_libs:[
+ "media_ndk_headers",
+ ],
+
export_shared_lib_headers: [
"libmedia",
"android.hidl.allocator@1.0",
diff --git a/media/libstagefright/MediaExtractor.cpp b/media/libstagefright/MediaExtractor.cpp
index e00c3c8..ac9eb0b 100644
--- a/media/libstagefright/MediaExtractor.cpp
+++ b/media/libstagefright/MediaExtractor.cpp
@@ -24,6 +24,7 @@
#include <media/stagefright/MetaData.h>
#include <media/stagefright/Utils.h>
#include <media/NdkMediaFormatPriv.h>
+#include <media/NdkMediaErrorPriv.h>
namespace android {
@@ -102,23 +103,23 @@
MetaDataBase& meta, size_t index, uint32_t flags) {
sp<AMessage> msg = new AMessage();
AMediaFormat *format = AMediaFormat_fromMsg(&msg);
- status_t ret = plugin->getTrackMetaData(plugin->data, format, index, flags);
+ media_status_t ret = plugin->getTrackMetaData(plugin->data, format, index, flags);
sp<MetaData> newMeta = new MetaData();
convertMessageToMetaData(msg, newMeta);
delete format;
meta = *newMeta;
- return ret;
+ return reverse_translate_error(ret);
}
status_t MediaExtractorCUnwrapperV2::getMetaData(MetaDataBase& meta) {
sp<AMessage> msg = new AMessage();
AMediaFormat *format = AMediaFormat_fromMsg(&msg);
- status_t ret = plugin->getMetaData(plugin->data, format);
+ media_status_t ret = plugin->getMetaData(plugin->data, format);
sp<MetaData> newMeta = new MetaData();
convertMessageToMetaData(msg, newMeta);
delete format;
meta = *newMeta;
- return ret;
+ return reverse_translate_error(ret);
}
const char * MediaExtractorCUnwrapperV2::name() {
diff --git a/media/libstagefright/MediaTrack.cpp b/media/libstagefright/MediaTrack.cpp
index 4bd8a51..5ad5295 100644
--- a/media/libstagefright/MediaTrack.cpp
+++ b/media/libstagefright/MediaTrack.cpp
@@ -21,6 +21,7 @@
#include <media/MediaTrack.h>
#include <media/MediaExtractorPluginApi.h>
+#include <media/NdkMediaErrorPriv.h>
#include <media/NdkMediaFormatPriv.h>
namespace android {
@@ -112,22 +113,22 @@
}
status_t MediaTrackCUnwrapperV2::start() {
- return wrapper->start(wrapper->data);
+ return reverse_translate_error(wrapper->start(wrapper->data));
}
status_t MediaTrackCUnwrapperV2::stop() {
- return wrapper->stop(wrapper->data);
+ return reverse_translate_error(wrapper->stop(wrapper->data));
}
status_t MediaTrackCUnwrapperV2::getFormat(MetaDataBase& format) {
sp<AMessage> msg = new AMessage();
AMediaFormat *tmpFormat = AMediaFormat_fromMsg(&msg);
- status_t ret = wrapper->getFormat(wrapper->data, tmpFormat);
+ media_status_t ret = wrapper->getFormat(wrapper->data, tmpFormat);
sp<MetaData> newMeta = new MetaData();
convertMessageToMetaData(msg, newMeta);
delete tmpFormat;
format = *newMeta;
- return ret;
+ return reverse_translate_error(ret);
}
status_t MediaTrackCUnwrapperV2::read(MediaBufferBase **buffer, const ReadOptions *options) {
@@ -145,7 +146,7 @@
opts |= (uint32_t) seekMode;
}
- return wrapper->read(wrapper->data, buffer, opts, seekPosition);
+ return reverse_translate_error(wrapper->read(wrapper->data, buffer, opts, seekPosition));
}
bool MediaTrackCUnwrapperV2::supportNonblockingRead() {
diff --git a/media/libstagefright/id3/Android.bp b/media/libstagefright/id3/Android.bp
index 37f9d50..b42c053 100644
--- a/media/libstagefright/id3/Android.bp
+++ b/media/libstagefright/id3/Android.bp
@@ -3,6 +3,10 @@
srcs: ["ID3.cpp"],
+ header_libs: [
+ "media_ndk_headers",
+ ],
+
cflags: [
"-Werror",
"-Wall",
diff --git a/media/libstagefright/mpeg2ts/Android.bp b/media/libstagefright/mpeg2ts/Android.bp
index fbf1496..7e00eb8 100644
--- a/media/libstagefright/mpeg2ts/Android.bp
+++ b/media/libstagefright/mpeg2ts/Android.bp
@@ -38,6 +38,10 @@
"android.hidl.memory@1.0",
],
+ header_libs: [
+ "media_ndk_headers",
+ ],
+
whole_static_libs: [
"libstagefright_metadatautils",
],
diff --git a/media/libstagefright/omx/tests/Android.bp b/media/libstagefright/omx/tests/Android.bp
index ef36982..31bc837 100644
--- a/media/libstagefright/omx/tests/Android.bp
+++ b/media/libstagefright/omx/tests/Android.bp
@@ -29,6 +29,7 @@
header_libs: [
"libbase_headers",
+ "media_ndk_headers",
],
cflags: [
diff --git a/media/libstagefright/webm/Android.bp b/media/libstagefright/webm/Android.bp
index f968788..97e1452 100644
--- a/media/libstagefright/webm/Android.bp
+++ b/media/libstagefright/webm/Android.bp
@@ -34,4 +34,8 @@
"libutils",
"liblog",
],
+
+ header_libs: [
+ "media_ndk_headers",
+ ],
}
diff --git a/media/ndk/Android.bp b/media/ndk/Android.bp
index 05c8582..a42cc8a 100644
--- a/media/ndk/Android.bp
+++ b/media/ndk/Android.bp
@@ -31,6 +31,13 @@
license: "NOTICE",
}
+// for use with header_libs
+cc_library_headers {
+ name: "media_ndk_headers",
+ vendor_available: true,
+ export_include_dirs: ["include"]
+}
+
cc_library_shared {
name: "libmediandk",
@@ -39,7 +46,6 @@
"NdkMediaCrypto.cpp",
"NdkMediaDataSource.cpp",
"NdkMediaExtractor.cpp",
- "NdkMediaError.cpp",
"NdkMediaFormat.cpp",
"NdkMediaMuxer.cpp",
"NdkMediaDrm.cpp",
@@ -107,7 +113,6 @@
srcs: [
"NdkMediaDataSourceCallbacks.cpp",
- "NdkMediaError.cpp",
],
include_dirs: [
diff --git a/media/ndk/NdkMediaDataSourceCallbacks.cpp b/media/ndk/NdkMediaDataSourceCallbacks.cpp
index 796c11b..f40387f 100644
--- a/media/ndk/NdkMediaDataSourceCallbacks.cpp
+++ b/media/ndk/NdkMediaDataSourceCallbacks.cpp
@@ -17,9 +17,9 @@
//#define LOG_NDEBUG 0
#define LOG_TAG "NdkMediaDataSourceCallbacks"
-#include "NdkMediaErrorPriv.h"
#include "NdkMediaDataSourceCallbacksPriv.h"
#include <media/DataSource.h>
+#include <media/NdkMediaErrorPriv.h>
namespace android {
diff --git a/media/ndk/NdkMediaExtractor.cpp b/media/ndk/NdkMediaExtractor.cpp
index a6adee4..f697bd1 100644
--- a/media/ndk/NdkMediaExtractor.cpp
+++ b/media/ndk/NdkMediaExtractor.cpp
@@ -20,8 +20,8 @@
#include <media/NdkMediaError.h>
#include <media/NdkMediaExtractor.h>
+#include <media/NdkMediaErrorPriv.h>
#include <media/NdkMediaFormatPriv.h>
-#include "NdkMediaErrorPriv.h"
#include "NdkMediaDataSourcePriv.h"
diff --git a/media/ndk/NdkMediaMuxer.cpp b/media/ndk/NdkMediaMuxer.cpp
index ab709ac..e79926d 100644
--- a/media/ndk/NdkMediaMuxer.cpp
+++ b/media/ndk/NdkMediaMuxer.cpp
@@ -20,8 +20,8 @@
#include <media/NdkMediaMuxer.h>
#include <media/NdkMediaCodec.h>
+#include <media/NdkMediaErrorPriv.h>
#include <media/NdkMediaFormatPriv.h>
-#include "NdkMediaErrorPriv.h"
#include <utils/Log.h>
diff --git a/media/ndk/include/media/NdkMediaError.h b/media/ndk/include/media/NdkMediaError.h
index 75f4605..2be1d6e 100644
--- a/media/ndk/include/media/NdkMediaError.h
+++ b/media/ndk/include/media/NdkMediaError.h
@@ -63,6 +63,7 @@
AMEDIA_ERROR_INVALID_OPERATION = AMEDIA_ERROR_BASE - 5,
AMEDIA_ERROR_END_OF_STREAM = AMEDIA_ERROR_BASE - 6,
AMEDIA_ERROR_IO = AMEDIA_ERROR_BASE - 7,
+ AMEDIA_ERROR_WOULD_BLOCK = AMEDIA_ERROR_BASE - 8,
AMEDIA_DRM_ERROR_BASE = -20000,
AMEDIA_DRM_NOT_PROVISIONED = AMEDIA_DRM_ERROR_BASE - 1,