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

Commit ec5206c9 authored by Robert Shih's avatar Robert Shih Committed by Android (Google) Code Review
Browse files

Merge "LiveSession: do not drop seek request" into lmp-dev

parents 50373731 800599cd
Loading
Loading
Loading
Loading
+17 −10
Original line number Original line Diff line number Diff line
@@ -353,10 +353,6 @@ status_t LiveSession::seekTo(int64_t timeUs) {
    sp<AMessage> response;
    sp<AMessage> response;
    status_t err = msg->postAndAwaitResponse(&response);
    status_t err = msg->postAndAwaitResponse(&response);


    uint32_t replyID;
    CHECK(response == mSeekReply && 0 != mSeekReplyID);
    mSeekReply.clear();
    mSeekReplyID = 0;
    return err;
    return err;
}
}


@@ -382,12 +378,16 @@ void LiveSession::onMessageReceived(const sp<AMessage> &msg) {


        case kWhatSeek:
        case kWhatSeek:
        {
        {
            CHECK(msg->senderAwaitsResponse(&mSeekReplyID));
            uint32_t seekReplyID;
            CHECK(msg->senderAwaitsResponse(&seekReplyID));
            mSeekReplyID = seekReplyID;
            mSeekReply = new AMessage;


            status_t err = onSeek(msg);
            status_t err = onSeek(msg);


            mSeekReply = new AMessage;
            if (err != OK) {
            mSeekReply->setInt32("err", err);
                msg->post(50000);
            }
            break;
            break;
        }
        }


@@ -422,7 +422,10 @@ void LiveSession::onMessageReceived(const sp<AMessage> &msg) {


                            if (mSeekReplyID != 0) {
                            if (mSeekReplyID != 0) {
                                CHECK(mSeekReply != NULL);
                                CHECK(mSeekReply != NULL);
                                mSeekReply->setInt32("err", OK);
                                mSeekReply->postReply(mSeekReplyID);
                                mSeekReply->postReply(mSeekReplyID);
                                mSeekReplyID = 0;
                                mSeekReply.clear();
                            }
                            }
                        }
                        }
                    }
                    }
@@ -1094,10 +1097,11 @@ status_t LiveSession::onSeek(const sp<AMessage> &msg) {
    CHECK(msg->findInt64("timeUs", &timeUs));
    CHECK(msg->findInt64("timeUs", &timeUs));


    if (!mReconfigurationInProgress) {
    if (!mReconfigurationInProgress) {
        changeConfiguration(timeUs, getBandwidthIndex());
        changeConfiguration(timeUs, mCurBandwidthIndex);
    }

        return OK;
        return OK;
    } else {
        return -EWOULDBLOCK;
    }
}
}


status_t LiveSession::getDuration(int64_t *durationUs) const {
status_t LiveSession::getDuration(int64_t *durationUs) const {
@@ -1254,7 +1258,10 @@ void LiveSession::changeConfiguration(


        if (mSeekReplyID != 0) {
        if (mSeekReplyID != 0) {
            CHECK(mSeekReply != NULL);
            CHECK(mSeekReply != NULL);
            mSeekReply->setInt32("err", OK);
            mSeekReply->postReply(mSeekReplyID);
            mSeekReply->postReply(mSeekReplyID);
            mSeekReplyID = 0;
            mSeekReply.clear();
        }
        }
    }
    }
}
}