Revert "Revert "Refactor GraphicBufferSource wrappers for OMX HAL""
This reverts commit a6331ba30928fac713f9d6ce94e1d5f0d008b501.
Bug: 36110748
Change-Id: I56260ae0cc13c17b0edb31c39d22f3fbd6708d34
diff --git a/include/media/omx/1.0/Conversion.h b/include/media/omx/1.0/Conversion.h
index ee83713..f3f8441 100644
--- a/include/media/omx/1.0/Conversion.h
+++ b/include/media/omx/1.0/Conversion.h
@@ -191,6 +191,19 @@
}
/**
+ * \brief Convert `Return<Status>` to `binder::Status`.
+ *
+ * \param[in] t The source `Return<Status>`.
+ * \return The corresponding `binder::Status`.
+ */
+// convert: Return<Status> -> ::android::binder::Status
+inline ::android::binder::Status toBinderStatus(
+ Return<Status> const& t) {
+ return ::android::binder::Status::fromStatusT(
+ t.isOk() ? static_cast<status_t>(static_cast<Status>(t)) : UNKNOWN_ERROR);
+}
+
+/**
* \brief Convert `Return<Status>` to `status_t`. This is for legacy binder
* calls.
*
diff --git a/include/media/omx/1.0/WGraphicBufferSource.h b/include/media/omx/1.0/WGraphicBufferSource.h
index 7c80c2e..0ca5f44 100644
--- a/include/media/omx/1.0/WGraphicBufferSource.h
+++ b/include/media/omx/1.0/WGraphicBufferSource.h
@@ -48,7 +48,6 @@
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;
-
using ::android::IOMXNode;
/**
@@ -60,7 +59,7 @@
* - TW = Treble Wrapper --- It wraps a legacy object inside a Treble object.
*/
-typedef ::android::IGraphicBufferSource LGraphicBufferSource;
+typedef ::android::binder::Status BnStatus;
typedef ::android::BnGraphicBufferSource BnGraphicBufferSource;
typedef ::android::hardware::media::omx::V1_0::IGraphicBufferSource
TGraphicBufferSource;
@@ -68,36 +67,19 @@
struct LWGraphicBufferSource : public BnGraphicBufferSource {
sp<TGraphicBufferSource> mBase;
LWGraphicBufferSource(sp<TGraphicBufferSource> const& base);
- ::android::binder::Status configure(
+ BnStatus configure(
const sp<IOMXNode>& omxNode, int32_t dataSpace) override;
- ::android::binder::Status setSuspend(bool suspend, int64_t timeUs) override;
- ::android::binder::Status setRepeatPreviousFrameDelayUs(
+ BnStatus setSuspend(bool suspend, int64_t timeUs) override;
+ BnStatus setRepeatPreviousFrameDelayUs(
int64_t repeatAfterUs) override;
- ::android::binder::Status setMaxFps(float maxFps) override;
- ::android::binder::Status setTimeLapseConfig(
+ BnStatus setMaxFps(float maxFps) override;
+ BnStatus setTimeLapseConfig(
int64_t timePerFrameUs, int64_t timePerCaptureUs) override;
- ::android::binder::Status setStartTimeUs(int64_t startTimeUs) override;
- ::android::binder::Status setStopTimeUs(int64_t stopTimeUs) override;
- ::android::binder::Status setColorAspects(int32_t aspects) override;
- ::android::binder::Status setTimeOffsetUs(int64_t timeOffsetsUs) override;
- ::android::binder::Status signalEndOfInputStream() override;
-};
-
-struct TWGraphicBufferSource : public TGraphicBufferSource {
- sp<LGraphicBufferSource> mBase;
- TWGraphicBufferSource(sp<LGraphicBufferSource> const& base);
- Return<void> configure(
- const sp<IOmxNode>& omxNode, Dataspace dataspace) override;
- Return<void> setSuspend(bool suspend, int64_t timeUs) override;
- Return<void> setRepeatPreviousFrameDelayUs(int64_t repeatAfterUs) override;
- Return<void> setMaxFps(float maxFps) override;
- Return<void> setTimeLapseConfig(
- int64_t timePerFrameUs, int64_t timePerCaptureUs) override;
- Return<void> setStartTimeUs(int64_t startTimeUs) override;
- Return<void> setStopTimeUs(int64_t stopTimeUs) override;
- Return<void> setColorAspects(const ColorAspects& aspects) override;
- Return<void> setTimeOffsetUs(int64_t timeOffsetUs) override;
- Return<void> signalEndOfInputStream() override;
+ BnStatus setStartTimeUs(int64_t startTimeUs) override;
+ BnStatus setStopTimeUs(int64_t stopTimeUs) override;
+ BnStatus setColorAspects(int32_t aspects) override;
+ BnStatus setTimeOffsetUs(int64_t timeOffsetsUs) override;
+ BnStatus signalEndOfInputStream() override;
};
} // namespace utils
diff --git a/include/media/omx/1.0/WOmx.h b/include/media/omx/1.0/WOmx.h
index 4aaf470..9268bd6 100644
--- a/include/media/omx/1.0/WOmx.h
+++ b/include/media/omx/1.0/WOmx.h
@@ -70,18 +70,6 @@
sp<::android::IGraphicBufferSource>* bufferSource) override;
};
-struct TWOmx : public IOmx {
- sp<IOMX> mBase;
- TWOmx(sp<IOMX> const& base);
- Return<void> listNodes(listNodes_cb _hidl_cb) override;
- Return<void> allocateNode(
- const hidl_string& name,
- const sp<IOmxObserver>& observer,
- allocateNode_cb _hidl_cb) override;
- Return<void> createInputSurface(createInputSurface_cb _hidl_cb) override;
-
-};
-
} // namespace utils
} // namespace V1_0
} // namespace omx