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

Commit 69bebe8d authored by Lajos Molnar's avatar Lajos Molnar
Browse files

MediaCodecInfo: keep capabilities from XML when updating them from codec

Bug: 27115490
Change-Id: Ie15bf538a3026829ff8029fb8b96b8d254517d1c
parent 4ad74b2b
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -126,8 +126,9 @@ private:
    void addQuirk(const char *name);
    status_t addMime(const char *mime);
    status_t updateMime(const char *mime);
    // after this call Capabilities will be owned by MediaCodecInfo
    status_t setCapabilities(const sp<Capabilities> &caps);
  
    // after this call |caps| will be owned by MediaCodecInfo, which may modify it
    status_t setCapabilitiesFromCodec(const sp<Capabilities> &caps);
    void addDetail(const AString &key, const AString &value);
    void addFeature(const AString &key, int32_t value);
    void addFeature(const AString &key, const char *value);
+5 −1
Original line number Diff line number Diff line
@@ -238,7 +238,11 @@ void MediaCodecInfo::removeMime(const char *mime) {
    }
}

status_t MediaCodecInfo::setCapabilities(const sp<Capabilities> &caps) {
status_t MediaCodecInfo::setCapabilitiesFromCodec(const sp<Capabilities> &caps) {
    if (mCurrentCaps != NULL) {
        // keep current capabilities map
        caps->mDetails = mCurrentCaps->mDetails;
    }
    mCurrentCaps = caps;
    return OK;
}
+1 −1
Original line number Diff line number Diff line
@@ -767,7 +767,7 @@ status_t MediaCodecList::initializeCapabilities(const char *type) {
        return UNKNOWN_ERROR;
    }

    return mCurrentInfo->setCapabilities(caps);
    return mCurrentInfo->setCapabilitiesFromCodec(caps);
}

status_t MediaCodecList::addQuirk(const char **attrs) {