Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b81347ef authored by Dongwon Kang's avatar Dongwon Kang
Browse files

Load media extractor plug-ins by using media namespace.

Test: build, boot, dumpsys media.extractor
Bug: 125134086
Change-Id: I502535900946907bcf7bafae7c5af18b3268d75a
parent ea69bfb0
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -277,19 +277,14 @@ void MediaExtractorFactory::RegisterExtractorsInApex(

    std::string libDirPathEx = libDirPath;
    libDirPathEx += "/extractors";
    android_namespace_t *extractorNs = android_create_namespace("extractor",
            nullptr,  // ld_library_path
            libDirPath,  // default_library_path
            ANDROID_NAMESPACE_TYPE_ISOLATED,
            libDirPathEx.c_str(),  // permitted_when_isolated_path
            nullptr); // parent
    if (!android_link_namespaces(extractorNs, nullptr, gLinkedLibraries.c_str())) {
        ALOGE("Failed to link namespace. Failed to load extractor plug-ins in apex.");
    android_namespace_t *mediaNs = android_get_exported_namespace("media");
    if (mediaNs == NULL) {
        ALOGE("couldn't find media namespace.");
        return;
    }
    const android_dlextinfo dlextinfo = {
        .flags = ANDROID_DLEXT_USE_NAMESPACE,
        .library_namespace = extractorNs,
        .library_namespace = mediaNs,
    };

    // try extractors subfolder first