V4L2EncodeComponent: clamp framerate to at least 1 on dynamic framerate change am: 39f241ae60

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/v4l2_codec2/+/18707983

Change-Id: Ic1f73083e703286e35e97221216fc005aef72e5e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/components/V4L2EncodeComponent.cpp b/components/V4L2EncodeComponent.cpp
index a1b46ab..4ce4404 100644
--- a/components/V4L2EncodeComponent.cpp
+++ b/components/V4L2EncodeComponent.cpp
@@ -756,8 +756,8 @@
     // Dynamically adjust framerate based on the frame's timestamp if required.
     constexpr int64_t kMaxFramerateDiff = 5;
     if (mLastFrameTime && (timestamp > *mLastFrameTime)) {
-        int64_t newFramerate =
-                static_cast<int64_t>(std::round(1000000.0 / (timestamp - *mLastFrameTime)));
+        int64_t newFramerate = std::max(
+                static_cast<int64_t>(std::round(1000000.0 / (timestamp - *mLastFrameTime))), 1LL);
         if (abs(mFramerate - newFramerate) > kMaxFramerateDiff) {
             ALOGV("Adjusting framerate to %" PRId64 " based on frame timestamps", newFramerate);
             mInterface->setFramerate(static_cast<uint32_t>(newFramerate));