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

Commit 5a97b476 authored by Houxiang Dai's avatar Houxiang Dai Committed by Wonsik Kim
Browse files

support changing audio-hw-sync-id during playback.

Bug: 151997287
Bug: 183968006
Test: Manual
Change-Id: I526cea37ae1124ddc5e74d0d60245ab7faaf5265
parent 00112c5a
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1889,6 +1889,12 @@ void CCodec::signalSetParameters(const sp<AMessage> &msg) {
        params->removeEntryAt(params->findEntryByName(KEY_BIT_RATE));
    }

    int32_t syncId = 0;
    if (params->findInt32("audio-hw-sync", &syncId)
            || params->findInt32("hw-av-sync-id", &syncId)) {
        configureTunneledVideoPlayback(comp, nullptr, params);
    }

    Mutexed<std::unique_ptr<Config>>::Locked configLocked(mConfig);
    const std::unique_ptr<Config> &config = *configLocked;

@@ -2179,6 +2185,10 @@ status_t CCodec::configureTunneledVideoPlayback(
        return UNKNOWN_ERROR;
    }

    if (sidebandHandle == nullptr) {
        return OK;
    }

    std::vector<std::unique_ptr<C2Param>> params;
    c2err = comp->query({}, {C2PortTunnelHandleTuning::output::PARAM_TYPE}, C2_DONT_BLOCK, &params);
    if (c2err == C2_OK && params.size() == 1u) {