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

Commit 15626031 authored by Eric Laurent's avatar Eric Laurent Committed by Android (Google) Code Review
Browse files

Merge "audio policy: fix capture concurrency mode checks"

parents 5405b7f0 4342335f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ public:
        API_INPUT_CONCURRENCY_NONE = 0,
        API_INPUT_CONCURRENCY_CALL = (1 << 0),      // Concurrency with a call
        API_INPUT_CONCURRENCY_CAPTURE = (1 << 1),   // Concurrency with another capture

        API_INPUT_CONCURRENCY_ALL = (API_INPUT_CONCURRENCY_CALL | API_INPUT_CONCURRENCY_CAPTURE),
   };

   typedef uint32_t concurrency_type__mask_t;
+6 −10
Original line number Diff line number Diff line
@@ -353,19 +353,15 @@ status_t AudioPolicyService::startInput(audio_io_handle_t input,
    status_t status = mAudioPolicyManager->startInput(input, session, &concurrency);

    if (status == NO_ERROR) {
        LOG_ALWAYS_FATAL_IF(concurrency & ~AudioPolicyInterface::API_INPUT_CONCURRENCY_ALL,
                            "startInput(): invalid concurrency type %d", (int)concurrency);

        // enforce permission (if any) required for each type of concurrency
        switch (concurrency) {
        case AudioPolicyInterface::API_INPUT_CONCURRENCY_NONE:
            break;
        case AudioPolicyInterface::API_INPUT_CONCURRENCY_CALL:
        if (concurrency & AudioPolicyInterface::API_INPUT_CONCURRENCY_CALL) {
            //TODO: check incall capture permission
            break;
        case AudioPolicyInterface::API_INPUT_CONCURRENCY_CAPTURE:
        }
        if (concurrency & AudioPolicyInterface::API_INPUT_CONCURRENCY_CAPTURE) {
            //TODO: check concurrent capture permission
            break;
       default:
            LOG_ALWAYS_FATAL("startInput() encountered an invalid input type %d",
                    (int)concurrency);
        }
    }