Merge "Use the updated hybrid interface"

gugelfrei
TreeHugger Robot 5 years ago committed by Android (Google) Code Review
commit 4507d82ee0

@ -1803,7 +1803,8 @@ void forEachBlock(const std::list<std::unique_ptr<C2Work>>& workList,
}
sp<HGraphicBufferProducer> getHgbp(const sp<IGraphicBufferProducer>& igbp) {
sp<HGraphicBufferProducer> hgbp = igbp->getHalInterface();
sp<HGraphicBufferProducer> hgbp =
igbp->getHalInterface<HGraphicBufferProducer>();
return hgbp ? hgbp :
new TWGraphicBufferProducer<HGraphicBufferProducer>(igbp);
}

@ -1064,7 +1064,9 @@ c2_status_t Codec2Client::Component::setOutputSurface(
C2BlockPool::local_id_t blockPoolId,
const sp<IGraphicBufferProducer>& surface,
uint32_t generation) {
sp<HGraphicBufferProducer> igbp = surface->getHalInterface();
sp<HGraphicBufferProducer> igbp =
surface->getHalInterface<HGraphicBufferProducer>();
if (!igbp) {
igbp = new TWGraphicBufferProducer<HGraphicBufferProducer>(surface);
}

@ -552,7 +552,7 @@ public:
};
IMPLEMENT_META_INTERFACE(OMX, "android.hardware.IOMX");
IMPLEMENT_HYBRID_META_INTERFACE(OMXNode, IOmxNode, "android.hardware.IOMXNode");
IMPLEMENT_HYBRID_META_INTERFACE(OMXNode, "android.hardware.IOMXNode");
////////////////////////////////////////////////////////////////////////////////

@ -59,7 +59,7 @@ using ::android::sp;
* - TW = Treble Wrapper --- It wraps a legacy object inside a Treble object.
*/
struct LWOmxNode : public H2BConverter<IOmxNode, IOMXNode, BnOMXNode> {
struct LWOmxNode : public H2BConverter<IOmxNode, BnOMXNode> {
LWOmxNode(sp<IOmxNode> const& base) : CBase(base) {}
status_t freeNode() override;
status_t sendCommand(

@ -32,7 +32,7 @@ LWGraphicBufferSource::LWGraphicBufferSource(
BnStatus LWGraphicBufferSource::configure(
const sp<IOMXNode>& omxNode, int32_t dataSpace) {
sp<IOmxNode> hOmxNode = omxNode->getHalInterface();
sp<IOmxNode> hOmxNode = omxNode->getHalInterface<IOmxNode>();
return toBinderStatus(mBase->configure(
hOmxNode == nullptr ? new TWOmxNode(omxNode) : hOmxNode,
toHardwareDataspace(dataSpace)));

@ -6539,8 +6539,10 @@ void ACodec::UninitializedState::stateEntered() {
if (mDeathNotifier != NULL) {
if (mCodec->mOMXNode != NULL) {
auto tOmxNode = mCodec->mOMXNode->getHalInterface();
tOmxNode->unlinkToDeath(mDeathNotifier);
auto tOmxNode = mCodec->mOMXNode->getHalInterface<IOmxNode>();
if (tOmxNode) {
tOmxNode->unlinkToDeath(mDeathNotifier);
}
}
mDeathNotifier.clear();
}
@ -6668,8 +6670,8 @@ bool ACodec::UninitializedState::onAllocateComponent(const sp<AMessage> &msg) {
}
mDeathNotifier = new DeathNotifier(notify);
auto tOmxNode = omxNode->getHalInterface();
if (!tOmxNode->linkToDeath(mDeathNotifier, 0)) {
auto tOmxNode = omxNode->getHalInterface<IOmxNode>();
if (tOmxNode && !tOmxNode->linkToDeath(mDeathNotifier, 0)) {
mDeathNotifier.clear();
}

Loading…
Cancel
Save