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

Commit 5f555242 authored by Gopalakrishnan Nallasamy's avatar Gopalakrishnan Nallasamy Committed by android-build-merger
Browse files

Merge "MediaMuxer:SetCaptureRate for GCA SlowMotionRecord" into qt-r1-dev

am: 9c6f37fa

Change-Id: Iff65726f4a2df4a3ba9daac9be641c64c74d129a
parents d2cd6284 9c6f37fa
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -1635,8 +1635,13 @@ status_t MPEG4Writer::setCaptureRate(float captureFps) {
        return BAD_VALUE;
    }

    // Increase moovExtraSize once only irrespective of how many times
    // setCaptureRate is called.
    bool containsCaptureFps = mMetaKeys->contains(kMetaKey_CaptureFps);
    mMetaKeys->setFloat(kMetaKey_CaptureFps, captureFps);
    if (!containsCaptureFps) {
        mMoovExtraSize += sizeof(kMetaKey_CaptureFps) + 4 + 32;
    }

    return OK;
}
+11 −3
Original line number Diff line number Diff line
@@ -96,11 +96,19 @@ ssize_t MediaMuxer::addTrack(const sp<AMessage> &format) {

    sp<MediaAdapter> newTrack = new MediaAdapter(trackMeta);
    status_t result = mWriter->addSource(newTrack);
    if (result == OK) {
        return mTrackList.add(newTrack);
    }
    if (result != OK) {
        return -1;
    }
    float captureFps = -1.0;
    if (format->findAsFloat("time-lapse-fps", &captureFps)) {
        ALOGV("addTrack() time-lapse-fps: %f", captureFps);
        result = mWriter->setCaptureRate(captureFps);
        if (result != OK) {
            ALOGW("addTrack() setCaptureRate failed :%d", result);
        }
    }
    return mTrackList.add(newTrack);
}

status_t MediaMuxer::setOrientationHint(int degrees) {
    Mutex::Autolock autoLock(mMuxerLock);
+4 −0
Original line number Diff line number Diff line
@@ -35,6 +35,10 @@ struct MediaWriter : public RefBase {
    virtual status_t start(MetaData *params = NULL) = 0;
    virtual status_t stop() = 0;
    virtual status_t pause() = 0;
    virtual status_t setCaptureRate(float /* captureFps */) {
        ALOGW("setCaptureRate unsupported");
        return ERROR_UNSUPPORTED;
    }

    virtual void setMaxFileSize(int64_t bytes) { mMaxFileSizeLimitBytes = bytes; }
    virtual void setMaxFileDuration(int64_t durationUs) { mMaxFileDurationLimitUs = durationUs; }