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

gugelfrei
Robert Shih 6 years ago committed by Android (Google) Code Review
commit dde4221a4b

@ -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;
}

@ -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);

@ -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;

@ -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;

@ -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"

@ -216,6 +216,12 @@ media_status_t AMediaExtractor_getSampleFormat(AMediaExtractor *ex, AMediaFormat
#endif /* __ANDROID_API__ >= 28 */
#if __ANDROID_API__ >= 29
media_status_t AMediaExtractor_disconnect(AMediaExtractor *ex);
#endif /* __ANDROID_API__ >= 29 */
#endif /* __ANDROID_API__ >= 21 */
__END_DECLS

Loading…
Cancel
Save