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

Commit ac063771 authored by Marco Nelissen's avatar Marco Nelissen
Browse files

Improve seeking for Xing header without TOC

Bug: 110761327
Test: manual
Change-Id: I792a49b758d8e513101135557485a91c5991f110
parent 7a81ccd6
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ bool XINGSeeker::getDuration(int64_t *durationUs) {
}

bool XINGSeeker::getOffsetForTime(int64_t *timeUs, off64_t *pos) {
    if (mSizeBytes == 0 || !mTOCValid || mDurationUs < 0) {
    if (mSizeBytes == 0 || mDurationUs < 0) {
        return false;
    }

@@ -54,7 +54,7 @@ bool XINGSeeker::getOffsetForTime(int64_t *timeUs, off64_t *pos) {
        fx = 0.0f;
    } else if( percent >= 100.0f ) {
        fx = 256.0f;
    } else {
    } else if (mTOCValid) {
        int a = (int)percent;
        float fa, fb;
        if ( a == 0 ) {
@@ -68,6 +68,8 @@ bool XINGSeeker::getOffsetForTime(int64_t *timeUs, off64_t *pos) {
            fb = 256.0f;
        }
        fx = fa + (fb-fa)*(percent-a);
    } else {
        fx = percent * 2.56f;
    }

    *pos = (int)((1.0f/256.0f)*fx*mSizeBytes) + mFirstFramePos;