Fix supportsNonblockingRead
This was accidentally removed in a previous CL
Bug: 111407253
Test: yes
Change-Id: I9348357d4311bec3cc5540dc3c9e99c9aad92e26
diff --git a/media/libmediaextractor/include/media/MediaTrack.h b/media/libmediaextractor/include/media/MediaTrack.h
index adea61a..94510a2 100644
--- a/media/libmediaextractor/include/media/MediaTrack.h
+++ b/media/libmediaextractor/include/media/MediaTrack.h
@@ -113,6 +113,12 @@
virtual status_t read(
MediaBufferBase **buffer, const ReadOptions *options = NULL) = 0;
+ // Returns true if |read| supports nonblocking option, otherwise false.
+ // |readMultiple| if supported, always allows the nonblocking option.
+ virtual bool supportNonblockingRead() {
+ return false;
+ }
+
virtual ~MediaTrack();
private:
diff --git a/media/libstagefright/RemoteMediaSource.cpp b/media/libstagefright/RemoteMediaSource.cpp
index d07afec..e549fcf 100644
--- a/media/libstagefright/RemoteMediaSource.cpp
+++ b/media/libstagefright/RemoteMediaSource.cpp
@@ -54,6 +54,10 @@
return mSource->read(buffer, reinterpret_cast<const MediaSource::ReadOptions*>(options));
}
+bool RemoteMediaSource::supportNonblockingRead() {
+ return mSource->supportNonblockingRead();
+}
+
status_t RemoteMediaSource::pause() {
return ERROR_UNSUPPORTED;
}
diff --git a/media/libstagefright/include/media/stagefright/RemoteMediaSource.h b/media/libstagefright/include/media/stagefright/RemoteMediaSource.h
index 1d720af..d1ec1ed 100644
--- a/media/libstagefright/include/media/stagefright/RemoteMediaSource.h
+++ b/media/libstagefright/include/media/stagefright/RemoteMediaSource.h
@@ -37,6 +37,7 @@
virtual status_t read(
MediaBufferBase **buffer,
const MediaSource::ReadOptions *options = NULL);
+ virtual bool supportNonblockingRead();
virtual status_t pause();
virtual status_t setStopTimeUs(int64_t stopTimeUs);