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

Commit 8f8932c4 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Revert "Revert "audio policy: refactor getOutput() method"""

parents 7c92ffe0 f4e63452
Loading
Loading
Loading
Loading
+2 −7
Original line number Original line Diff line number Diff line
@@ -822,16 +822,11 @@ audio_policy_forced_cfg_t AudioSystem::getForceUse(audio_policy_force_use_t usag
}
}




audio_io_handle_t AudioSystem::getOutput(audio_stream_type_t stream,
audio_io_handle_t AudioSystem::getOutput(audio_stream_type_t stream)
                                    uint32_t samplingRate,
                                    audio_format_t format,
                                    audio_channel_mask_t channelMask,
                                    audio_output_flags_t flags,
                                    const audio_offload_info_t *offloadInfo)
{
{
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    if (aps == 0) return 0;
    if (aps == 0) return 0;
    return aps->getOutput(stream, samplingRate, format, channelMask, flags, offloadInfo);
    return aps->getOutput(stream);
}
}


status_t AudioSystem::getOutputForAttr(const audio_attributes_t *attr,
status_t AudioSystem::getOutputForAttr(const audio_attributes_t *attr,
+2 −34
Original line number Original line Diff line number Diff line
@@ -160,28 +160,11 @@ public:
        return static_cast <audio_policy_forced_cfg_t> (reply.readInt32());
        return static_cast <audio_policy_forced_cfg_t> (reply.readInt32());
    }
    }


    virtual audio_io_handle_t getOutput(
    virtual audio_io_handle_t getOutput(audio_stream_type_t stream)
                                        audio_stream_type_t stream,
                                        uint32_t samplingRate,
                                        audio_format_t format,
                                        audio_channel_mask_t channelMask,
                                        audio_output_flags_t flags,
                                        const audio_offload_info_t *offloadInfo)
    {
    {
        Parcel data, reply;
        Parcel data, reply;
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
        data.writeInt32(static_cast <uint32_t>(stream));
        data.writeInt32(static_cast <uint32_t>(stream));
        data.writeInt32(samplingRate);
        data.writeInt32(static_cast <uint32_t>(format));
        data.writeInt32(channelMask);
        data.writeInt32(static_cast <uint32_t>(flags));
        // hasOffloadInfo
        if (offloadInfo == NULL) {
            data.writeInt32(0);
        } else {
            data.writeInt32(1);
            data.write(offloadInfo, sizeof(audio_offload_info_t));
        }
        remote()->transact(GET_OUTPUT, data, &reply);
        remote()->transact(GET_OUTPUT, data, &reply);
        return static_cast <audio_io_handle_t> (reply.readInt32());
        return static_cast <audio_io_handle_t> (reply.readInt32());
    }
    }
@@ -934,22 +917,7 @@ status_t BnAudioPolicyService::onTransact(
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            audio_stream_type_t stream =
            audio_stream_type_t stream =
                    static_cast <audio_stream_type_t>(data.readInt32());
                    static_cast <audio_stream_type_t>(data.readInt32());
            uint32_t samplingRate = data.readInt32();
            audio_io_handle_t output = getOutput(stream);
            audio_format_t format = (audio_format_t) data.readInt32();
            audio_channel_mask_t channelMask = data.readInt32();
            audio_output_flags_t flags =
                    static_cast <audio_output_flags_t>(data.readInt32());
            bool hasOffloadInfo = data.readInt32() != 0;
            audio_offload_info_t offloadInfo;
            if (hasOffloadInfo) {
                data.read(&offloadInfo, sizeof(audio_offload_info_t));
            }
            audio_io_handle_t output = getOutput(stream,
                                                 samplingRate,
                                                 format,
                                                 channelMask,
                                                 flags,
                                                 hasOffloadInfo ? &offloadInfo : NULL);
            reply->writeInt32(static_cast <int>(output));
            reply->writeInt32(static_cast <int>(output));
            return NO_ERROR;
            return NO_ERROR;
        } break;
        } break;
+1 −6
Original line number Original line Diff line number Diff line
@@ -211,12 +211,6 @@ public:


    // Client must successfully hand off the handle reference to AudioFlinger via createTrack(),
    // Client must successfully hand off the handle reference to AudioFlinger via createTrack(),
    // or release it with releaseOutput().
    // or release it with releaseOutput().
    static audio_io_handle_t getOutput(audio_stream_type_t stream,
                                        uint32_t samplingRate = 0,
                                        audio_format_t format = AUDIO_FORMAT_DEFAULT,
                                        audio_channel_mask_t channelMask = AUDIO_CHANNEL_OUT_STEREO,
                                        audio_output_flags_t flags = AUDIO_OUTPUT_FLAG_NONE,
                                        const audio_offload_info_t *offloadInfo = NULL);
    static status_t getOutputForAttr(const audio_attributes_t *attr,
    static status_t getOutputForAttr(const audio_attributes_t *attr,
                                     audio_io_handle_t *output,
                                     audio_io_handle_t *output,
                                     audio_session_t session,
                                     audio_session_t session,
@@ -450,6 +444,7 @@ private:
        Vector <sp <AudioPortCallback> >    mAudioPortCallbacks;
        Vector <sp <AudioPortCallback> >    mAudioPortCallbacks;
    };
    };


    static audio_io_handle_t getOutput(audio_stream_type_t stream);
    static const sp<AudioFlingerClient> getAudioFlingerClient();
    static const sp<AudioFlingerClient> getAudioFlingerClient();
    static sp<AudioIoDescriptor> getIoDescriptor(audio_io_handle_t ioHandle);
    static sp<AudioIoDescriptor> getIoDescriptor(audio_io_handle_t ioHandle);


+1 −1
Original line number Original line Diff line number Diff line
@@ -994,7 +994,7 @@ protected:
    sp<IAudioTrack>         mAudioTrack;
    sp<IAudioTrack>         mAudioTrack;
    sp<IMemory>             mCblkMemory;
    sp<IMemory>             mCblkMemory;
    audio_track_cblk_t*     mCblk;                  // re-load after mLock.unlock()
    audio_track_cblk_t*     mCblk;                  // re-load after mLock.unlock()
    audio_io_handle_t       mOutput;                // returned by AudioSystem::getOutput()
    audio_io_handle_t       mOutput;                // returned by AudioSystem::getOutputForAttr()


    sp<AudioTrackThread>    mAudioTrackThread;
    sp<AudioTrackThread>    mAudioTrackThread;
    bool                    mThreadCanCallJava;
    bool                    mThreadCanCallJava;
+1 −6
Original line number Original line Diff line number Diff line
@@ -55,12 +55,7 @@ public:
    virtual status_t setForceUse(audio_policy_force_use_t usage,
    virtual status_t setForceUse(audio_policy_force_use_t usage,
                                    audio_policy_forced_cfg_t config) = 0;
                                    audio_policy_forced_cfg_t config) = 0;
    virtual audio_policy_forced_cfg_t getForceUse(audio_policy_force_use_t usage) = 0;
    virtual audio_policy_forced_cfg_t getForceUse(audio_policy_force_use_t usage) = 0;
    virtual audio_io_handle_t getOutput(audio_stream_type_t stream,
    virtual audio_io_handle_t getOutput(audio_stream_type_t stream) = 0;
                                        uint32_t samplingRate = 0,
                                        audio_format_t format = AUDIO_FORMAT_DEFAULT,
                                        audio_channel_mask_t channelMask = 0,
                                        audio_output_flags_t flags = AUDIO_OUTPUT_FLAG_NONE,
                                        const audio_offload_info_t *offloadInfo = NULL) = 0;
    virtual status_t getOutputForAttr(const audio_attributes_t *attr,
    virtual status_t getOutputForAttr(const audio_attributes_t *attr,
                                      audio_io_handle_t *output,
                                      audio_io_handle_t *output,
                                      audio_session_t session,
                                      audio_session_t session,
Loading