Loading media/codec2/hidl/1.0/utils/Component.cpp +12 −12 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ #include <codec2/hidl/1.0/ComponentStore.h> #include <codec2/hidl/1.0/InputBufferManager.h> #include <android/hardware/media/c2/1.0/IInputSink.h> #include <hidl/HidlBinderSupport.h> #include <utils/Timers.h> Loading Loading @@ -298,19 +297,12 @@ Return<Status> Component::setOutputSurface( Return<void> Component::connectToInputSurface( const sp<IInputSurface>& inputSurface, connectToInputSurface_cb _hidl_cb) { sp<Sink> sink; { std::lock_guard<std::mutex> lock(mSinkMutex); if (!mSink) { mSink = new Sink(shared_from_this()); } sink = mSink; } Status status; sp<IInputSurfaceConnection> connection; auto transStatus = inputSurface->connect(sink, [&status, &connection](Status s, const sp<IInputSurfaceConnection>& c) { auto transStatus = inputSurface->connect( asInputSink(), [&status, &connection]( Status s, const sp<IInputSurfaceConnection>& c) { status = s; connection = c; } Loading Loading @@ -454,6 +446,14 @@ Return<sp<IComponentInterface>> Component::getInterface() { return sp<IComponentInterface>(mInterface); } Return<sp<IInputSink>> Component::asInputSink() { std::lock_guard<std::mutex> lock(mSinkMutex); if (!mSink) { mSink = new Sink(shared_from_this()); } return {mSink}; } std::shared_ptr<C2Component> Component::findLocalComponent( const sp<IInputSink>& sink) { return Component::Sink::findLocalComponent(sink); Loading media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Component.h +2 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <android/hardware/media/c2/1.0/IComponentInterface.h> #include <android/hardware/media/c2/1.0/IComponentListener.h> #include <android/hardware/media/c2/1.0/IComponentStore.h> #include <android/hardware/media/c2/1.0/IInputSink.h> #include <hidl/Status.h> #include <hwbinder/IBinder.h> Loading Loading @@ -94,6 +95,7 @@ struct Component : public IComponent, virtual Return<Status> reset() override; virtual Return<Status> release() override; virtual Return<sp<IComponentInterface>> getInterface() override; virtual Return<sp<IInputSink>> asInputSink() override; // Returns a C2Component associated to the given sink if the sink is indeed // a local component. Returns nullptr otherwise. Loading Loading
media/codec2/hidl/1.0/utils/Component.cpp +12 −12 Original line number Diff line number Diff line Loading @@ -22,7 +22,6 @@ #include <codec2/hidl/1.0/ComponentStore.h> #include <codec2/hidl/1.0/InputBufferManager.h> #include <android/hardware/media/c2/1.0/IInputSink.h> #include <hidl/HidlBinderSupport.h> #include <utils/Timers.h> Loading Loading @@ -298,19 +297,12 @@ Return<Status> Component::setOutputSurface( Return<void> Component::connectToInputSurface( const sp<IInputSurface>& inputSurface, connectToInputSurface_cb _hidl_cb) { sp<Sink> sink; { std::lock_guard<std::mutex> lock(mSinkMutex); if (!mSink) { mSink = new Sink(shared_from_this()); } sink = mSink; } Status status; sp<IInputSurfaceConnection> connection; auto transStatus = inputSurface->connect(sink, [&status, &connection](Status s, const sp<IInputSurfaceConnection>& c) { auto transStatus = inputSurface->connect( asInputSink(), [&status, &connection]( Status s, const sp<IInputSurfaceConnection>& c) { status = s; connection = c; } Loading Loading @@ -454,6 +446,14 @@ Return<sp<IComponentInterface>> Component::getInterface() { return sp<IComponentInterface>(mInterface); } Return<sp<IInputSink>> Component::asInputSink() { std::lock_guard<std::mutex> lock(mSinkMutex); if (!mSink) { mSink = new Sink(shared_from_this()); } return {mSink}; } std::shared_ptr<C2Component> Component::findLocalComponent( const sp<IInputSink>& sink) { return Component::Sink::findLocalComponent(sink); Loading
media/codec2/hidl/1.0/utils/include/codec2/hidl/1.0/Component.h +2 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <android/hardware/media/c2/1.0/IComponentInterface.h> #include <android/hardware/media/c2/1.0/IComponentListener.h> #include <android/hardware/media/c2/1.0/IComponentStore.h> #include <android/hardware/media/c2/1.0/IInputSink.h> #include <hidl/Status.h> #include <hwbinder/IBinder.h> Loading Loading @@ -94,6 +95,7 @@ struct Component : public IComponent, virtual Return<Status> reset() override; virtual Return<Status> release() override; virtual Return<sp<IComponentInterface>> getInterface() override; virtual Return<sp<IInputSink>> asInputSink() override; // Returns a C2Component associated to the given sink if the sink is indeed // a local component. Returns nullptr otherwise. Loading