Loading media/codec2/hidl/client/Android.bp +0 −1 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ cc_library { "libhidltransport", "libhidltransport", "liblog", "liblog", "libstagefright_bufferpool@2.0", "libstagefright_bufferpool@2.0", "libstagefright_bufferqueue_helper", "libui", "libui", "libutils", "libutils", ], ], Loading media/codec2/sfplugin/Android.bp +0 −1 Original line number Original line Diff line number Diff line Loading @@ -40,7 +40,6 @@ cc_library_shared { "libmedia", "libmedia", "libmedia_omx", "libmedia_omx", "libsfplugin_ccodec_utils", "libsfplugin_ccodec_utils", "libstagefright_bufferqueue_helper", "libstagefright_codecbase", "libstagefright_codecbase", "libstagefright_foundation", "libstagefright_foundation", "libstagefright_omx_utils", "libstagefright_omx_utils", Loading media/libmedia/Android.bp +70 −5 Original line number Original line Diff line number Diff line Loading @@ -65,7 +65,6 @@ cc_library_shared { "MediaCodecInfo.cpp", "MediaCodecInfo.cpp", "OMXBuffer.cpp", "OMXBuffer.cpp", "omx/1.0/WGraphicBufferSource.cpp", "omx/1.0/WGraphicBufferSource.cpp", "omx/1.0/WOmx.cpp", "omx/1.0/WOmxBufferSource.cpp", "omx/1.0/WOmxBufferSource.cpp", "omx/1.0/WOmxNode.cpp", "omx/1.0/WOmxNode.cpp", "omx/1.0/WOmxObserver.cpp", "omx/1.0/WOmxObserver.cpp", Loading @@ -76,12 +75,15 @@ cc_library_shared { export_aidl_headers: true, export_aidl_headers: true, }, }, local_include_dirs: [ "include", ], shared_libs: [ shared_libs: [ "android.hidl.token@1.0-utils", "android.hidl.token@1.0-utils", "android.hardware.media.omx@1.0", "android.hardware.media.omx@1.0", "libbinder", "libbinder", "libcutils", "libcutils", "libgui", "libhidlbase", "libhidlbase", "libhidltransport", "libhidltransport", "liblog", "liblog", Loading @@ -93,21 +95,84 @@ cc_library_shared { export_shared_lib_headers: [ export_shared_lib_headers: [ "android.hidl.token@1.0-utils", "android.hidl.token@1.0-utils", "android.hardware.media.omx@1.0", "android.hardware.media.omx@1.0", "libgui", "libstagefright_foundation", "libstagefright_foundation", "libui", "libui", ], ], header_libs: [ header_libs: [ "libmedia_headers", "libstagefright_headers", "media_plugin_headers", ], ], export_header_lib_headers: [ export_header_lib_headers: [ "libmedia_headers", "libstagefright_headers", "media_plugin_headers", ], ], export_include_dirs: [ export_include_dirs: [ "aidl", "aidl", "include", ], cflags: [ "-Werror", "-Wno-error=deprecated-declarations", "-Wall", ], sanitize: { misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", ], cfi: true, }, } cc_library_shared { name: "libmedia_omx_client", srcs: [ "omx/1.0/WOmx.cpp", ], local_include_dirs: [ "include", ], shared_libs: [ "libbinder", "libcutils", "libgui", "libhidlbase", "libhidltransport", "liblog", "libmedia_omx", "libstagefright_foundation", "libui", "libutils", ], export_shared_lib_headers: [ "libgui", "libmedia_omx", "libstagefright_foundation", "libui", ], header_libs: [ "libstagefright_headers", "media_plugin_headers", ], export_header_lib_headers: [ "libstagefright_headers", "media_plugin_headers", ], export_include_dirs: [ "include", ], ], cflags: [ cflags: [ Loading media/libmedia/IOMX.cpp +0 −151 Original line number Original line Diff line number Diff line Loading @@ -27,7 +27,6 @@ #include <media/openmax/OMX_IndexExt.h> #include <media/openmax/OMX_IndexExt.h> #include <media/OMXBuffer.h> #include <media/OMXBuffer.h> #include <utils/NativeHandle.h> #include <utils/NativeHandle.h> #include <gui/IGraphicBufferProducer.h> #include <media/omx/1.0/WOmxNode.h> #include <media/omx/1.0/WOmxNode.h> #include <android/IGraphicBufferSource.h> #include <android/IGraphicBufferSource.h> Loading Loading @@ -62,79 +61,6 @@ enum { SET_QUIRKS, SET_QUIRKS, }; }; class BpOMX : public BpInterface<IOMX> { public: explicit BpOMX(const sp<IBinder> &impl) : BpInterface<IOMX>(impl) { } virtual status_t listNodes(List<ComponentInfo> *list) { list->clear(); Parcel data, reply; data.writeInterfaceToken(IOMX::getInterfaceDescriptor()); remote()->transact(LIST_NODES, data, &reply); int32_t n = reply.readInt32(); for (int32_t i = 0; i < n; ++i) { list->push_back(ComponentInfo()); ComponentInfo &info = *--list->end(); info.mName = reply.readString8(); int32_t numRoles = reply.readInt32(); for (int32_t j = 0; j < numRoles; ++j) { info.mRoles.push_back(reply.readString8()); } } return OK; } virtual status_t allocateNode( const char *name, const sp<IOMXObserver> &observer, sp<IOMXNode> *omxNode) { Parcel data, reply; data.writeInterfaceToken(IOMX::getInterfaceDescriptor()); data.writeCString(name); data.writeStrongBinder(IInterface::asBinder(observer)); remote()->transact(ALLOCATE_NODE, data, &reply); status_t err = reply.readInt32(); if (err == OK) { *omxNode = IOMXNode::asInterface(reply.readStrongBinder()); } else { omxNode->clear(); } return err; } virtual status_t createInputSurface( sp<IGraphicBufferProducer> *bufferProducer, sp<IGraphicBufferSource> *bufferSource) { Parcel data, reply; status_t err; data.writeInterfaceToken(IOMX::getInterfaceDescriptor()); err = remote()->transact(CREATE_INPUT_SURFACE, data, &reply); if (err != OK) { ALOGW("binder transaction failed: %d", err); return err; } err = reply.readInt32(); if (err != OK) { return err; } *bufferProducer = IGraphicBufferProducer::asInterface( reply.readStrongBinder()); *bufferSource = IGraphicBufferSource::asInterface( reply.readStrongBinder()); return err; } }; class BpOMXNode : public BpInterface<IOMXNode> { class BpOMXNode : public BpInterface<IOMXNode> { public: public: explicit BpOMXNode(const sp<IBinder> &impl) explicit BpOMXNode(const sp<IBinder> &impl) Loading Loading @@ -551,7 +477,6 @@ public: } } }; }; IMPLEMENT_META_INTERFACE(OMX, "android.hardware.IOMX"); IMPLEMENT_HYBRID_META_INTERFACE(OMXNode, "android.hardware.IOMXNode"); IMPLEMENT_HYBRID_META_INTERFACE(OMXNode, "android.hardware.IOMXNode"); //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// Loading @@ -562,82 +487,6 @@ IMPLEMENT_HYBRID_META_INTERFACE(OMXNode, "android.hardware.IOMXNode"); return PERMISSION_DENIED; \ return PERMISSION_DENIED; \ } } while (0) } } while (0) status_t BnOMX::onTransact( uint32_t code, const Parcel &data, Parcel *reply, uint32_t flags) { switch (code) { case LIST_NODES: { CHECK_OMX_INTERFACE(IOMX, data, reply); List<ComponentInfo> list; listNodes(&list); reply->writeInt32(list.size()); for (List<ComponentInfo>::iterator it = list.begin(); it != list.end(); ++it) { ComponentInfo &cur = *it; reply->writeString8(cur.mName); reply->writeInt32(cur.mRoles.size()); for (List<String8>::iterator role_it = cur.mRoles.begin(); role_it != cur.mRoles.end(); ++role_it) { reply->writeString8(*role_it); } } return NO_ERROR; } case ALLOCATE_NODE: { CHECK_OMX_INTERFACE(IOMX, data, reply); const char *name = data.readCString(); sp<IOMXObserver> observer = interface_cast<IOMXObserver>(data.readStrongBinder()); if (name == NULL || observer == NULL) { ALOGE("b/26392700"); reply->writeInt32(INVALID_OPERATION); return NO_ERROR; } sp<IOMXNode> omxNode; status_t err = allocateNode(name, observer, &omxNode); reply->writeInt32(err); if (err == OK) { reply->writeStrongBinder(IInterface::asBinder(omxNode)); } return NO_ERROR; } case CREATE_INPUT_SURFACE: { CHECK_OMX_INTERFACE(IOMX, data, reply); sp<IGraphicBufferProducer> bufferProducer; sp<IGraphicBufferSource> bufferSource; status_t err = createInputSurface(&bufferProducer, &bufferSource); reply->writeInt32(err); if (err == OK) { reply->writeStrongBinder(IInterface::asBinder(bufferProducer)); reply->writeStrongBinder(IInterface::asBinder(bufferSource)); } return NO_ERROR; } default: return BBinder::onTransact(code, data, reply, flags); } } status_t BnOMXNode::onTransact( status_t BnOMXNode::onTransact( uint32_t code, const Parcel &data, Parcel *reply, uint32_t flags) { uint32_t code, const Parcel &data, Parcel *reply, uint32_t flags) { switch (code) { switch (code) { Loading media/libmedia/include/media/IOMX.h +1 −10 Original line number Original line Diff line number Diff line Loading @@ -47,9 +47,8 @@ struct omx_message; using hardware::media::omx::V1_0::IOmxNode; using hardware::media::omx::V1_0::IOmxNode; class IOMX : public IInterface { class IOMX : public RefBase { public: public: DECLARE_META_INTERFACE(OMX); typedef uint32_t buffer_id; typedef uint32_t buffer_id; Loading Loading @@ -224,14 +223,6 @@ public: }; }; //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// class BnOMX : public BnInterface<IOMX> { public: virtual status_t onTransact( uint32_t code, const Parcel &data, Parcel *reply, uint32_t flags = 0); }; class BnOMXNode : public BnInterface<IOMXNode> { class BnOMXNode : public BnInterface<IOMXNode> { public: public: virtual status_t onTransact( virtual status_t onTransact( Loading Loading
media/codec2/hidl/client/Android.bp +0 −1 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ cc_library { "libhidltransport", "libhidltransport", "liblog", "liblog", "libstagefright_bufferpool@2.0", "libstagefright_bufferpool@2.0", "libstagefright_bufferqueue_helper", "libui", "libui", "libutils", "libutils", ], ], Loading
media/codec2/sfplugin/Android.bp +0 −1 Original line number Original line Diff line number Diff line Loading @@ -40,7 +40,6 @@ cc_library_shared { "libmedia", "libmedia", "libmedia_omx", "libmedia_omx", "libsfplugin_ccodec_utils", "libsfplugin_ccodec_utils", "libstagefright_bufferqueue_helper", "libstagefright_codecbase", "libstagefright_codecbase", "libstagefright_foundation", "libstagefright_foundation", "libstagefright_omx_utils", "libstagefright_omx_utils", Loading
media/libmedia/Android.bp +70 −5 Original line number Original line Diff line number Diff line Loading @@ -65,7 +65,6 @@ cc_library_shared { "MediaCodecInfo.cpp", "MediaCodecInfo.cpp", "OMXBuffer.cpp", "OMXBuffer.cpp", "omx/1.0/WGraphicBufferSource.cpp", "omx/1.0/WGraphicBufferSource.cpp", "omx/1.0/WOmx.cpp", "omx/1.0/WOmxBufferSource.cpp", "omx/1.0/WOmxBufferSource.cpp", "omx/1.0/WOmxNode.cpp", "omx/1.0/WOmxNode.cpp", "omx/1.0/WOmxObserver.cpp", "omx/1.0/WOmxObserver.cpp", Loading @@ -76,12 +75,15 @@ cc_library_shared { export_aidl_headers: true, export_aidl_headers: true, }, }, local_include_dirs: [ "include", ], shared_libs: [ shared_libs: [ "android.hidl.token@1.0-utils", "android.hidl.token@1.0-utils", "android.hardware.media.omx@1.0", "android.hardware.media.omx@1.0", "libbinder", "libbinder", "libcutils", "libcutils", "libgui", "libhidlbase", "libhidlbase", "libhidltransport", "libhidltransport", "liblog", "liblog", Loading @@ -93,21 +95,84 @@ cc_library_shared { export_shared_lib_headers: [ export_shared_lib_headers: [ "android.hidl.token@1.0-utils", "android.hidl.token@1.0-utils", "android.hardware.media.omx@1.0", "android.hardware.media.omx@1.0", "libgui", "libstagefright_foundation", "libstagefright_foundation", "libui", "libui", ], ], header_libs: [ header_libs: [ "libmedia_headers", "libstagefright_headers", "media_plugin_headers", ], ], export_header_lib_headers: [ export_header_lib_headers: [ "libmedia_headers", "libstagefright_headers", "media_plugin_headers", ], ], export_include_dirs: [ export_include_dirs: [ "aidl", "aidl", "include", ], cflags: [ "-Werror", "-Wno-error=deprecated-declarations", "-Wall", ], sanitize: { misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", ], cfi: true, }, } cc_library_shared { name: "libmedia_omx_client", srcs: [ "omx/1.0/WOmx.cpp", ], local_include_dirs: [ "include", ], shared_libs: [ "libbinder", "libcutils", "libgui", "libhidlbase", "libhidltransport", "liblog", "libmedia_omx", "libstagefright_foundation", "libui", "libutils", ], export_shared_lib_headers: [ "libgui", "libmedia_omx", "libstagefright_foundation", "libui", ], header_libs: [ "libstagefright_headers", "media_plugin_headers", ], export_header_lib_headers: [ "libstagefright_headers", "media_plugin_headers", ], export_include_dirs: [ "include", ], ], cflags: [ cflags: [ Loading
media/libmedia/IOMX.cpp +0 −151 Original line number Original line Diff line number Diff line Loading @@ -27,7 +27,6 @@ #include <media/openmax/OMX_IndexExt.h> #include <media/openmax/OMX_IndexExt.h> #include <media/OMXBuffer.h> #include <media/OMXBuffer.h> #include <utils/NativeHandle.h> #include <utils/NativeHandle.h> #include <gui/IGraphicBufferProducer.h> #include <media/omx/1.0/WOmxNode.h> #include <media/omx/1.0/WOmxNode.h> #include <android/IGraphicBufferSource.h> #include <android/IGraphicBufferSource.h> Loading Loading @@ -62,79 +61,6 @@ enum { SET_QUIRKS, SET_QUIRKS, }; }; class BpOMX : public BpInterface<IOMX> { public: explicit BpOMX(const sp<IBinder> &impl) : BpInterface<IOMX>(impl) { } virtual status_t listNodes(List<ComponentInfo> *list) { list->clear(); Parcel data, reply; data.writeInterfaceToken(IOMX::getInterfaceDescriptor()); remote()->transact(LIST_NODES, data, &reply); int32_t n = reply.readInt32(); for (int32_t i = 0; i < n; ++i) { list->push_back(ComponentInfo()); ComponentInfo &info = *--list->end(); info.mName = reply.readString8(); int32_t numRoles = reply.readInt32(); for (int32_t j = 0; j < numRoles; ++j) { info.mRoles.push_back(reply.readString8()); } } return OK; } virtual status_t allocateNode( const char *name, const sp<IOMXObserver> &observer, sp<IOMXNode> *omxNode) { Parcel data, reply; data.writeInterfaceToken(IOMX::getInterfaceDescriptor()); data.writeCString(name); data.writeStrongBinder(IInterface::asBinder(observer)); remote()->transact(ALLOCATE_NODE, data, &reply); status_t err = reply.readInt32(); if (err == OK) { *omxNode = IOMXNode::asInterface(reply.readStrongBinder()); } else { omxNode->clear(); } return err; } virtual status_t createInputSurface( sp<IGraphicBufferProducer> *bufferProducer, sp<IGraphicBufferSource> *bufferSource) { Parcel data, reply; status_t err; data.writeInterfaceToken(IOMX::getInterfaceDescriptor()); err = remote()->transact(CREATE_INPUT_SURFACE, data, &reply); if (err != OK) { ALOGW("binder transaction failed: %d", err); return err; } err = reply.readInt32(); if (err != OK) { return err; } *bufferProducer = IGraphicBufferProducer::asInterface( reply.readStrongBinder()); *bufferSource = IGraphicBufferSource::asInterface( reply.readStrongBinder()); return err; } }; class BpOMXNode : public BpInterface<IOMXNode> { class BpOMXNode : public BpInterface<IOMXNode> { public: public: explicit BpOMXNode(const sp<IBinder> &impl) explicit BpOMXNode(const sp<IBinder> &impl) Loading Loading @@ -551,7 +477,6 @@ public: } } }; }; IMPLEMENT_META_INTERFACE(OMX, "android.hardware.IOMX"); IMPLEMENT_HYBRID_META_INTERFACE(OMXNode, "android.hardware.IOMXNode"); IMPLEMENT_HYBRID_META_INTERFACE(OMXNode, "android.hardware.IOMXNode"); //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// Loading @@ -562,82 +487,6 @@ IMPLEMENT_HYBRID_META_INTERFACE(OMXNode, "android.hardware.IOMXNode"); return PERMISSION_DENIED; \ return PERMISSION_DENIED; \ } } while (0) } } while (0) status_t BnOMX::onTransact( uint32_t code, const Parcel &data, Parcel *reply, uint32_t flags) { switch (code) { case LIST_NODES: { CHECK_OMX_INTERFACE(IOMX, data, reply); List<ComponentInfo> list; listNodes(&list); reply->writeInt32(list.size()); for (List<ComponentInfo>::iterator it = list.begin(); it != list.end(); ++it) { ComponentInfo &cur = *it; reply->writeString8(cur.mName); reply->writeInt32(cur.mRoles.size()); for (List<String8>::iterator role_it = cur.mRoles.begin(); role_it != cur.mRoles.end(); ++role_it) { reply->writeString8(*role_it); } } return NO_ERROR; } case ALLOCATE_NODE: { CHECK_OMX_INTERFACE(IOMX, data, reply); const char *name = data.readCString(); sp<IOMXObserver> observer = interface_cast<IOMXObserver>(data.readStrongBinder()); if (name == NULL || observer == NULL) { ALOGE("b/26392700"); reply->writeInt32(INVALID_OPERATION); return NO_ERROR; } sp<IOMXNode> omxNode; status_t err = allocateNode(name, observer, &omxNode); reply->writeInt32(err); if (err == OK) { reply->writeStrongBinder(IInterface::asBinder(omxNode)); } return NO_ERROR; } case CREATE_INPUT_SURFACE: { CHECK_OMX_INTERFACE(IOMX, data, reply); sp<IGraphicBufferProducer> bufferProducer; sp<IGraphicBufferSource> bufferSource; status_t err = createInputSurface(&bufferProducer, &bufferSource); reply->writeInt32(err); if (err == OK) { reply->writeStrongBinder(IInterface::asBinder(bufferProducer)); reply->writeStrongBinder(IInterface::asBinder(bufferSource)); } return NO_ERROR; } default: return BBinder::onTransact(code, data, reply, flags); } } status_t BnOMXNode::onTransact( status_t BnOMXNode::onTransact( uint32_t code, const Parcel &data, Parcel *reply, uint32_t flags) { uint32_t code, const Parcel &data, Parcel *reply, uint32_t flags) { switch (code) { switch (code) { Loading
media/libmedia/include/media/IOMX.h +1 −10 Original line number Original line Diff line number Diff line Loading @@ -47,9 +47,8 @@ struct omx_message; using hardware::media::omx::V1_0::IOmxNode; using hardware::media::omx::V1_0::IOmxNode; class IOMX : public IInterface { class IOMX : public RefBase { public: public: DECLARE_META_INTERFACE(OMX); typedef uint32_t buffer_id; typedef uint32_t buffer_id; Loading Loading @@ -224,14 +223,6 @@ public: }; }; //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// class BnOMX : public BnInterface<IOMX> { public: virtual status_t onTransact( uint32_t code, const Parcel &data, Parcel *reply, uint32_t flags = 0); }; class BnOMXNode : public BnInterface<IOMXNode> { class BnOMXNode : public BnInterface<IOMXNode> { public: public: virtual status_t onTransact( virtual status_t onTransact( Loading