Loading media/libmedia/NdkWrapper.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,10 @@ static const char *AMediaFormatKeyGroupFloatInt32[] = { static status_t translateErrorCode(media_status_t err) { if (err == AMEDIA_OK) { return OK; } else if (err == AMEDIA_ERROR_END_OF_STREAM) { return ERROR_END_OF_STREAM; } else if (err == AMEDIA_ERROR_IO) { return ERROR_IO; } else if (err == AMEDIACODEC_INFO_TRY_AGAIN_LATER) { return -EAGAIN; } Loading Loading @@ -1150,6 +1154,15 @@ int64_t AMediaExtractorWrapper::getSampleTime() { return AMediaExtractor_getSampleTime(mAMediaExtractor); } status_t AMediaExtractorWrapper::getSampleFormat(sp<AMediaFormatWrapper> &formatWrapper) { if (mAMediaExtractor == NULL) { return DEAD_OBJECT; } AMediaFormat *format = AMediaFormat_new(); formatWrapper = new AMediaFormatWrapper(format); return translateErrorCode(AMediaExtractor_getSampleFormat(mAMediaExtractor, format)); } int64_t AMediaExtractorWrapper::getCachedDuration() { if (mAMediaExtractor == NULL) { return -1; Loading media/libmedia/include/media/NdkWrapper.h +2 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,8 @@ struct AMediaExtractorWrapper : public RefBase { int64_t getSampleTime(); status_t getSampleFormat(sp<AMediaFormatWrapper> &formatWrapper); int64_t getCachedDuration(); bool advance(); Loading media/libmediaplayer2/nuplayer2/GenericSource2.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -1239,7 +1239,7 @@ sp<ABuffer> NuPlayer2::GenericSource2::mediaBufferToABuffer( } if (trackType == MEDIA_TRACK_TYPE_SUBTITLE) { meta->setInt32("trackIndex", mSubtitleTrack.mIndex); meta->setInt32(AMEDIAFORMAT_KEY_TRACK_INDEX, mSubtitleTrack.mIndex); } uint32_t dataType; // unused Loading @@ -1255,7 +1255,7 @@ sp<ABuffer> NuPlayer2::GenericSource2::mediaBufferToABuffer( if (mb->meta_data().findData( kKeyMpegUserData, &dataType, &mpegUserDataPointer, &mpegUserDataLength)) { sp<ABuffer> mpegUserData = ABuffer::CreateAsCopy(mpegUserDataPointer, mpegUserDataLength); meta->setBuffer("mpegUserData", mpegUserData); meta->setBuffer(AMEDIAFORMAT_KEY_MPEG_USER_DATA, mpegUserData); } mb->release(); Loading media/libmediaplayer2/nuplayer2/NuPlayer2.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -2842,7 +2842,7 @@ void NuPlayer2::onClosedCaptionNotify(const sp<AMessage> &msg) { void NuPlayer2::sendSubtitleData(const sp<ABuffer> &buffer, int32_t baseIndex) { int32_t trackIndex; int64_t timeUs, durationUs; CHECK(buffer->meta()->findInt32("trackIndex", &trackIndex)); CHECK(buffer->meta()->findInt32(AMEDIAFORMAT_KEY_TRACK_INDEX, &trackIndex)); CHECK(buffer->meta()->findInt64("timeUs", &timeUs)); CHECK(buffer->meta()->findInt64("durationUs", &durationUs)); Loading media/libmediaplayer2/nuplayer2/NuPlayer2CCDecoder.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include "NuPlayer2CCDecoder.h" #include <media/NdkMediaFormat.h> #include <media/stagefright/foundation/ABitReader.h> #include <media/stagefright/foundation/ABuffer.h> #include <media/stagefright/foundation/ADebug.h> Loading Loading @@ -301,7 +302,7 @@ bool NuPlayer2::CCDecoder::parseSEINalUnit(int64_t timeUs, const uint8_t *data, // returns true if a new CC track is found bool NuPlayer2::CCDecoder::extractFromMPEGUserData(const sp<ABuffer> &accessUnit) { sp<ABuffer> mpegUserData; if (!accessUnit->meta()->findBuffer("mpegUserData", &mpegUserData) if (!accessUnit->meta()->findBuffer(AMEDIAFORMAT_KEY_MPEG_USER_DATA, &mpegUserData) || mpegUserData == NULL) { return false; } Loading Loading @@ -538,7 +539,7 @@ void NuPlayer2::CCDecoder::display(int64_t timeUs) { dumpBytePair(ccBuf); #endif ccBuf->meta()->setInt32("trackIndex", mSelectedTrack); ccBuf->meta()->setInt32(AMEDIAFORMAT_KEY_TRACK_INDEX, mSelectedTrack); ccBuf->meta()->setInt64("timeUs", timeUs); ccBuf->meta()->setInt64("durationUs", 0ll); Loading Loading
media/libmedia/NdkWrapper.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,10 @@ static const char *AMediaFormatKeyGroupFloatInt32[] = { static status_t translateErrorCode(media_status_t err) { if (err == AMEDIA_OK) { return OK; } else if (err == AMEDIA_ERROR_END_OF_STREAM) { return ERROR_END_OF_STREAM; } else if (err == AMEDIA_ERROR_IO) { return ERROR_IO; } else if (err == AMEDIACODEC_INFO_TRY_AGAIN_LATER) { return -EAGAIN; } Loading Loading @@ -1150,6 +1154,15 @@ int64_t AMediaExtractorWrapper::getSampleTime() { return AMediaExtractor_getSampleTime(mAMediaExtractor); } status_t AMediaExtractorWrapper::getSampleFormat(sp<AMediaFormatWrapper> &formatWrapper) { if (mAMediaExtractor == NULL) { return DEAD_OBJECT; } AMediaFormat *format = AMediaFormat_new(); formatWrapper = new AMediaFormatWrapper(format); return translateErrorCode(AMediaExtractor_getSampleFormat(mAMediaExtractor, format)); } int64_t AMediaExtractorWrapper::getCachedDuration() { if (mAMediaExtractor == NULL) { return -1; Loading
media/libmedia/include/media/NdkWrapper.h +2 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,8 @@ struct AMediaExtractorWrapper : public RefBase { int64_t getSampleTime(); status_t getSampleFormat(sp<AMediaFormatWrapper> &formatWrapper); int64_t getCachedDuration(); bool advance(); Loading
media/libmediaplayer2/nuplayer2/GenericSource2.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -1239,7 +1239,7 @@ sp<ABuffer> NuPlayer2::GenericSource2::mediaBufferToABuffer( } if (trackType == MEDIA_TRACK_TYPE_SUBTITLE) { meta->setInt32("trackIndex", mSubtitleTrack.mIndex); meta->setInt32(AMEDIAFORMAT_KEY_TRACK_INDEX, mSubtitleTrack.mIndex); } uint32_t dataType; // unused Loading @@ -1255,7 +1255,7 @@ sp<ABuffer> NuPlayer2::GenericSource2::mediaBufferToABuffer( if (mb->meta_data().findData( kKeyMpegUserData, &dataType, &mpegUserDataPointer, &mpegUserDataLength)) { sp<ABuffer> mpegUserData = ABuffer::CreateAsCopy(mpegUserDataPointer, mpegUserDataLength); meta->setBuffer("mpegUserData", mpegUserData); meta->setBuffer(AMEDIAFORMAT_KEY_MPEG_USER_DATA, mpegUserData); } mb->release(); Loading
media/libmediaplayer2/nuplayer2/NuPlayer2.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -2842,7 +2842,7 @@ void NuPlayer2::onClosedCaptionNotify(const sp<AMessage> &msg) { void NuPlayer2::sendSubtitleData(const sp<ABuffer> &buffer, int32_t baseIndex) { int32_t trackIndex; int64_t timeUs, durationUs; CHECK(buffer->meta()->findInt32("trackIndex", &trackIndex)); CHECK(buffer->meta()->findInt32(AMEDIAFORMAT_KEY_TRACK_INDEX, &trackIndex)); CHECK(buffer->meta()->findInt64("timeUs", &timeUs)); CHECK(buffer->meta()->findInt64("durationUs", &durationUs)); Loading
media/libmediaplayer2/nuplayer2/NuPlayer2CCDecoder.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include "NuPlayer2CCDecoder.h" #include <media/NdkMediaFormat.h> #include <media/stagefright/foundation/ABitReader.h> #include <media/stagefright/foundation/ABuffer.h> #include <media/stagefright/foundation/ADebug.h> Loading Loading @@ -301,7 +302,7 @@ bool NuPlayer2::CCDecoder::parseSEINalUnit(int64_t timeUs, const uint8_t *data, // returns true if a new CC track is found bool NuPlayer2::CCDecoder::extractFromMPEGUserData(const sp<ABuffer> &accessUnit) { sp<ABuffer> mpegUserData; if (!accessUnit->meta()->findBuffer("mpegUserData", &mpegUserData) if (!accessUnit->meta()->findBuffer(AMEDIAFORMAT_KEY_MPEG_USER_DATA, &mpegUserData) || mpegUserData == NULL) { return false; } Loading Loading @@ -538,7 +539,7 @@ void NuPlayer2::CCDecoder::display(int64_t timeUs) { dumpBytePair(ccBuf); #endif ccBuf->meta()->setInt32("trackIndex", mSelectedTrack); ccBuf->meta()->setInt32(AMEDIAFORMAT_KEY_TRACK_INDEX, mSelectedTrack); ccBuf->meta()->setInt64("timeUs", timeUs); ccBuf->meta()->setInt64("durationUs", 0ll); Loading