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

Commit 53f69c19 authored by James Dong's avatar James Dong
Browse files

Fixed a video editor crash due to "divided by 0"

The crash was because the video sample was too short and has 0 duration (or a single frame video).
This patch is just simply not to support 0 duration video for editing.

Change-Id: I2c7ff78b1e884a4d3a5051f87cdbeeb5dc3078a6
related-to-bug: 6670656
parent a0108697
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1483,11 +1483,15 @@ M4OSA_ERR VideoEditor3gpReader_getNextStreamHandler(M4OSA_Context context,
                    (int32_t*)&(pVideoStreamHandler->m_videoHeight));

                (*pStreamHandler)  = (M4_StreamHandler*)(pVideoStreamHandler);
                meta->findInt64(kKeyDuration,
                    (int64_t*)&(Duration));
                ((*pStreamHandler)->m_duration) =
                    (int32_t)((Duration)/1000); // conversion to mS
                meta->findInt64(kKeyDuration, (int64_t*)&(Duration));
                ((*pStreamHandler)->m_duration) = (int32_t)((Duration)/1000); // conversion to mS
                pC->mMaxDuration = ((*pStreamHandler)->m_duration);
                if (pC->mMaxDuration == 0) {
                    ALOGE("Video is too short: %lld Us", Duration);
                    delete pVideoStreamHandler;
                    pVideoStreamHandler = NULL;
                    return M4ERR_PARAMETER;
                }
                ALOGV("VideoEditor3gpReader_getNextStreamHandler m_duration %d",
                    (*pStreamHandler)->m_duration);