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

Commit bd1eee2a authored by Eric Laurent's avatar Eric Laurent
Browse files

Spatializer: remove EffectClient nested class

Remove unused nested class EffectClient. It was designed
to help expose an IEffect interface allowing avanced configuration
by spatializer implementor but will be replaced by the addition
of a set/get parameter methods on ISpatializer.

Bug: 188502620
Test: make
Change-Id: Ia3b4740f1b00cb444b6e4e7e039765421ef0297b
parent 2abe5191
Loading
Loading
Loading
Loading
+0 −71
Original line number Diff line number Diff line
@@ -706,75 +706,4 @@ void Spatializer::postFramesProcessedMsg(int frames) {
    msg->post();
}

// ---------------------------------------------------------------------------

Spatializer::EffectClient::EffectClient(const sp<media::IEffectClient>& effectClient,
             Spatializer& parent)
             : BnEffect(),
             mEffectClient(effectClient), mParent(parent) {
}

Spatializer::EffectClient::~EffectClient() {
}

// IEffect

#define RETURN(code) \
  *_aidl_return = (code); \
  return Status::ok();

// Write a POD value into a vector of bytes (clears the previous buffer
// content).
template<typename T>
void writeToBuffer(const T& value, std::vector<uint8_t>* buffer) {
    buffer->clear();
    appendToBuffer(value, buffer);
}

Status Spatializer::EffectClient::enable(int32_t* _aidl_return) {
    RETURN(OK);
}

Status Spatializer::EffectClient::disable(int32_t* _aidl_return) {
    RETURN(OK);
}

Status Spatializer::EffectClient::command(int32_t cmdCode,
                                const std::vector<uint8_t>& cmdData __unused,
                                int32_t maxResponseSize __unused,
                                std::vector<uint8_t>* response __unused,
                                int32_t* _aidl_return) {

    // reject commands reserved for internal use by audio framework if coming from outside
    // of audioserver
    switch(cmdCode) {
        case EFFECT_CMD_ENABLE:
        case EFFECT_CMD_DISABLE:
        case EFFECT_CMD_SET_PARAM_DEFERRED:
        case EFFECT_CMD_SET_PARAM_COMMIT:
            RETURN(BAD_VALUE);
        case EFFECT_CMD_SET_PARAM:
        case EFFECT_CMD_GET_PARAM:
            break;
        default:
            if (cmdCode >= EFFECT_CMD_FIRST_PROPRIETARY) {
                break;
            }
            android_errorWriteLog(0x534e4554, "62019992");
            RETURN(BAD_VALUE);
    }
    (void)mParent;
    RETURN(OK);
}

Status Spatializer::EffectClient::disconnect() {
    mDisconnected = true;
    return Status::ok();
}

Status Spatializer::EffectClient::getCblk(media::SharedFileRegion* _aidl_return) {
    LOG_ALWAYS_FATAL_IF(!convertIMemoryToSharedFileRegion(mCblkMemory, _aidl_return));
    return Status::ok();
}

} // namespace android
+0 −31
Original line number Diff line number Diff line
@@ -145,34 +145,6 @@ class Spatializer : public media::BnSpatializer,

    void calculateHeadPose();

    /** An implementation of an IEffect interface that can be used to pass advanced parameters to
     * the spatializer engine. All APis are noop (i.e. the interface cannot be used to control
     * the effect) except for passing parameters via the command() API. */
    class EffectClient: public android::media::BnEffect {
    public:

        EffectClient(const sp<media::IEffectClient>& effectClient,
                     Spatializer& parent);
        virtual ~EffectClient();

        // IEffect
        android::binder::Status enable(int32_t* _aidl_return) override;
        android::binder::Status disable(int32_t* _aidl_return) override;
        android::binder::Status command(int32_t cmdCode,
                                        const std::vector<uint8_t>& cmdData,
                                        int32_t maxResponseSize,
                                        std::vector<uint8_t>* response,
                                        int32_t* _aidl_return) override;
        android::binder::Status disconnect() override;
        android::binder::Status getCblk(media::SharedFileRegion* _aidl_return) override;

    private:
        const sp<media::IEffectClient> mEffectClient;
        sp<IMemory> mCblkMemory;
        const Spatializer& mParent;
        bool mDisconnected = false;
    };

private:
    Spatializer(effect_descriptor_t engineDescriptor,
                     SpatializerPolicyCallback *callback);
@@ -284,9 +256,6 @@ private:
    /** Requested spatialization level */
    media::SpatializationLevel mLevel GUARDED_BY(mLock) = media::SpatializationLevel::NONE;

    /** Extended IEffect interface is one has been created */
    sp<EffectClient> mEffectClient GUARDED_BY(mLock);

    /** Control logic for head-tracking, etc. */
    std::shared_ptr<SpatializerPoseController> mPoseController GUARDED_BY(mLock);