Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dde4221a authored by Robert Shih's avatar Robert Shih Committed by Android (Google) Code Review
Browse files

Merge "NdkMediaExtractor: add disconnect API" into pi-dev

parents a1a005fc 08eb9080
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1068,6 +1068,14 @@ status_t AMediaExtractorWrapper::release() {
    return OK;
}

status_t AMediaExtractorWrapper::disconnect() {
    if (mAMediaExtractor != NULL) {
        media_status_t err = AMediaExtractor_disconnect(mAMediaExtractor);
        return translateErrorCode(err);
    }
    return DEAD_OBJECT;
}

AMediaExtractor *AMediaExtractorWrapper::getAMediaExtractor() const {
    return mAMediaExtractor;
}
+2 −0
Original line number Diff line number Diff line
@@ -287,6 +287,8 @@ struct AMediaExtractorWrapper : public RefBase {

    status_t release();

    status_t disconnect();

    status_t setDataSource(int fd, off64_t offset, off64_t length);

    status_t setDataSource(const char *location);
+9 −0
Original line number Diff line number Diff line
@@ -205,6 +205,15 @@ status_t NuMediaExtractor::setMediaCas(const HInterfaceToken &casToken) {
    return OK;
}

void NuMediaExtractor::disconnect() {
    if (mDataSource != NULL) {
        // disconnect data source
        if (mDataSource->flags() & DataSource::kIsCachingDataSource) {
            static_cast<NuCachedSource2 *>(mDataSource.get())->disconnect();
        }
    }
}

status_t NuMediaExtractor::updateDurationAndBitrate() {
    if (mImpl->countTracks() > kMaxTrackCount) {
        return ERROR_UNSUPPORTED;
+2 −0
Original line number Diff line number Diff line
@@ -64,6 +64,8 @@ struct NuMediaExtractor : public RefBase {

    status_t setMediaCas(const HInterfaceToken &casToken);

    void disconnect();

    size_t countTracks() const;
    status_t getTrackFormat(size_t index, sp<AMessage> *format, uint32_t flags = 0) const;

+6 −0
Original line number Diff line number Diff line
@@ -475,5 +475,11 @@ media_status_t AMediaExtractor_getSampleFormat(AMediaExtractor *ex, AMediaFormat
    return AMEDIA_OK;
}

EXPORT
media_status_t AMediaExtractor_disconnect(AMediaExtractor * ex) {
    ex->mImpl->disconnect();
    return AMEDIA_OK;
}

} // extern "C"
Loading