stagefright: propagate float frame rates to MetaData
These are rounded as MetaData only handles integer values.
Bug: 27126548
Change-Id: I7971c4f35a14f282ea2cb76b99893f3c6dd5752e
diff --git a/media/libstagefright/Utils.cpp b/media/libstagefright/Utils.cpp
index 7daae20..448f8aa 100644
--- a/media/libstagefright/Utils.cpp
+++ b/media/libstagefright/Utils.cpp
@@ -828,8 +828,13 @@
}
int32_t fps;
+ float fpsFloat;
if (msg->findInt32("frame-rate", &fps) && fps > 0) {
meta->setInt32(kKeyFrameRate, fps);
+ } else if (msg->findFloat("frame-rate", &fpsFloat)
+ && fpsFloat >= 1 && fpsFloat <= INT32_MAX) {
+ // truncate values to distinguish between e.g. 24 vs 23.976 fps
+ meta->setInt32(kKeyFrameRate, (int32_t)fpsFloat);
}
// reassemble the csd data into its original form