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

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

Merge "Fix memory leaks"

parents 4f2c001b 39f4bc12
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -521,12 +521,15 @@ jobject MediaPlayer2AudioOutput::getRoutedDevice() {
status_t MediaPlayer2AudioOutput::addAudioDeviceCallback(jobject jRoutingDelegate) {
    ALOGV("addAudioDeviceCallback");
    Mutex::Autolock lock(mLock);
    jobject listener = (new JObjectHolder(
            JAudioTrack::getListener(jRoutingDelegate)))->getJObject();

    JObjectHolder listenerHolder{JAudioTrack::getListener(jRoutingDelegate)};
    jobject listener = listenerHolder.getJObject();
    if (JAudioTrack::findByKey(mRoutingDelegates, listener) == nullptr) {
        jobject handler = (new JObjectHolder(
                JAudioTrack::getHandler(jRoutingDelegate)))->getJObject();
        jobject routingDelegate = (new JObjectHolder(jRoutingDelegate))->getJObject();
        JObjectHolder handlerHolder{JAudioTrack::getHandler(jRoutingDelegate)};
        jobject handler = handlerHolder.getJObject();

        JObjectHolder routingDelegateHolder = JObjectHolder(jRoutingDelegate);
        jobject routingDelegate = routingDelegateHolder.getJObject();
        mRoutingDelegates.push_back(std::pair<jobject, jobject>(listener, routingDelegate));
        if (mJAudioTrack != nullptr) {
            return mJAudioTrack->addAudioDeviceCallback(routingDelegate, handler);