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

Commit b96df7bf authored by Mohan Kandra's avatar Mohan Kandra Committed by Ricardo Cerqueira
Browse files

Camera: Add support to set the frame rate modes

Add support to change the frame rate modes between auto and
fixed.

Change-Id: I38577bae7dda99b0f82ee9af29f3557157e17bb6
parent 6040c2ae
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
@@ -74009,6 +74009,17 @@
 visibility="public"
>
</method>
<method name="getPreviewFrameRateMode"
 return="java.lang.String"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getPreviewSize"
 return="android.hardware.Camera.Size"
 abstract="false"
@@ -74196,6 +74207,17 @@
 visibility="public"
>
</method>
<method name="getSupportedPreviewFrameRateModes"
 return="java.util.List&lt;java.lang.String&gt;"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="getSupportedPreviewFrameRates"
 return="java.util.List&lt;java.lang.Integer&gt;"
 abstract="false"
@@ -74689,6 +74711,19 @@
<parameter name="fps" type="int">
</parameter>
</method>
<method name="setPreviewFrameRateMode"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="value" type="java.lang.String">
</parameter>
</method>
<method name="setPreviewSize"
 return="void"
 abstract="false"
+33 −0
Original line number Diff line number Diff line
@@ -993,6 +993,9 @@ public class Camera {
        private static final String KEY_PREVIEW_FORMAT = "preview-format";
        private static final String KEY_PREVIEW_FRAME_RATE = "preview-frame-rate";
        private static final String KEY_PREVIEW_FPS_RANGE = "preview-fps-range";
        private static final String KEY_PREVIEW_FRAME_RATE_MODE = "preview-frame-rate-mode";
        private static final String KEY_PREVIEW_FRAME_RATE_AUTO_MODE = "frame-rate-auto";
        private static final String KEY_PREVIEW_FRAME_RATE_FIXED_MODE = "frame-rate-fixed";
        private static final String KEY_PICTURE_SIZE = "picture-size";
        private static final String KEY_PICTURE_FORMAT = "picture-format";
        private static final String KEY_JPEG_THUMBNAIL_SIZE = "jpeg-thumbnail-size";
@@ -2208,6 +2211,36 @@ public class Camera {
            return split(str);
        }

        /**
         * Gets the frame rate mode setting.
         *
         * @return one of FRAME_RATE_XXX_MODE string constant. null if this
         *         setting is not supported.
         */
        public String getPreviewFrameRateMode() {
            return get(KEY_PREVIEW_FRAME_RATE_MODE);
        }

        /**
         * Sets the frame rate mode.
         *
         * @param value FRAME_RATE_XXX_MODE string constants.
         */
        public void setPreviewFrameRateMode(String value) {
            set(KEY_PREVIEW_FRAME_RATE_MODE, value);
        }

        /**
         * Gets the supported frame rate modes.
         *
         * @return a List of FRAME_RATE_XXX_MODE string constant. null if this
         *         setting is not supported.
         */
        public List<String> getSupportedPreviewFrameRateModes() {
            String str = get(KEY_PREVIEW_FRAME_RATE_MODE + SUPPORTED_VALUES_SUFFIX);
            return split(str);
        }

        /**
         * Gets the current scene mode setting.
         *
+8 −0
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ public:
    void setPreviewFrameRate(int fps);
    int getPreviewFrameRate() const;
    void getPreviewFpsRange(int *min_fps, int *max_fps) const;
    void setPreviewFrameRateMode(const char *mode);
    const char *getPreviewFrameRateMode() const;
    void setPreviewFormat(const char *format);
    const char *getPreviewFormat() const;
    void setPictureSize(int width, int height);
@@ -111,6 +113,12 @@ public:
    // Supported number of preview frames per second.
    // Example value: "24,15,10". Read.
    static const char KEY_SUPPORTED_PREVIEW_FRAME_RATES[];
    // The mode of preview frame rate.
    // Example value: "frame-rate-auto, frame-rate-fixed".
    static const char KEY_PREVIEW_FRAME_RATE_MODE[];
    static const char KEY_SUPPORTED_PREVIEW_FRAME_RATE_MODES[];
    static const char KEY_PREVIEW_FRAME_RATE_AUTO_MODE[];
    static const char KEY_PREVIEW_FRAME_RATE_FIXED_MODE[];
    // The dimensions for captured pictures in pixels (width x height).
    // Example value: "1024x768". Read/write.
    static const char KEY_PICTURE_SIZE[];
+14 −0
Original line number Diff line number Diff line
@@ -32,6 +32,10 @@ const char CameraParameters::KEY_PREVIEW_FRAME_RATE[] = "preview-frame-rate";
const char CameraParameters::KEY_SUPPORTED_PREVIEW_FRAME_RATES[] = "preview-frame-rate-values";
const char CameraParameters::KEY_PREVIEW_FPS_RANGE[] = "preview-fps-range";
const char CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE[] = "preview-fps-range-values";
const char CameraParameters::KEY_PREVIEW_FRAME_RATE_MODE[] = "preview-frame-rate-mode";
const char CameraParameters::KEY_SUPPORTED_PREVIEW_FRAME_RATE_MODES[] = "preview-frame-rate-modes";
const char CameraParameters::KEY_PREVIEW_FRAME_RATE_AUTO_MODE[] = "frame-rate-auto";
const char CameraParameters::KEY_PREVIEW_FRAME_RATE_FIXED_MODE[] = "frame-rate-fixed";
const char CameraParameters::KEY_PICTURE_SIZE[] = "picture-size";
const char CameraParameters::KEY_SUPPORTED_PICTURE_SIZES[] = "picture-size-values";
const char CameraParameters::KEY_PICTURE_FORMAT[] = "picture-format";
@@ -404,6 +408,16 @@ void CameraParameters::getPreviewFpsRange(int *min_fps, int *max_fps) const
    parse_pair(p, min_fps, max_fps, ',');
}

void CameraParameters::setPreviewFrameRateMode(const char *mode)
{
    set(KEY_PREVIEW_FRAME_RATE_MODE, mode);
}

const char *CameraParameters::getPreviewFrameRateMode() const
{
    return get(KEY_PREVIEW_FRAME_RATE_MODE);
}

void CameraParameters::setPreviewFormat(const char *format)
{
    set(KEY_PREVIEW_FORMAT, format);