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

Commit 69579627 authored by Hassan Shojania's avatar Hassan Shojania
Browse files

Fix for the occasional prepareDrm/releaseDrm deadlock

Bug:  36023772
Test: Manual through GTS tests
Change-Id: Id2e8e5390231aa27e8f9a66613c2be6ce86e23a0
parent 622761ea
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ NuPlayerDriver::NuPlayerDriver(pid_t pid)
      mSeekInProgress(false),
      mPlayingTimeUs(0),
      mLooper(new ALooper),
      mPlayer(new NuPlayer(pid)),
      mPlayerFlags(0),
      mAnalyticsItem(NULL),
      mAtEOS(false),
@@ -66,7 +67,6 @@ NuPlayerDriver::NuPlayerDriver(pid_t pid)
            true,  /* canCallJava */
            PRIORITY_AUDIO);

    mPlayer = new NuPlayer(pid);
    mLooper->registerHandler(mPlayer);

    mPlayer->setDriver(this);
@@ -998,8 +998,6 @@ status_t NuPlayerDriver::prepareDrm(const uint8_t uuid[16], const Vector<uint8_t
{
    ALOGV("prepareDrm(%p) state: %d", this, mState);

    Mutex::Autolock autoLock(mLock);

    // leaving the state verification for mediaplayer.cpp
    status_t ret = mPlayer->prepareDrm(uuid, drmSessionId);

@@ -1012,8 +1010,6 @@ status_t NuPlayerDriver::releaseDrm()
{
    ALOGV("releaseDrm(%p) state: %d", this, mState);

    Mutex::Autolock autoLock(mLock);

    // leaving the state verification for mediaplayer.cpp
    status_t ret = mPlayer->releaseDrm();

+1 −1
Original line number Diff line number Diff line
@@ -127,7 +127,7 @@ private:
    // <<<

    sp<ALooper> mLooper;
    sp<NuPlayer> mPlayer;
    const sp<NuPlayer> mPlayer;
    sp<AudioSink> mAudioSink;
    uint32_t mPlayerFlags;