summaryrefslogtreecommitdiff
path: root/sys/androidmedia/jni/gstamc-codec-jni.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/androidmedia/jni/gstamc-codec-jni.c')
-rw-r--r--sys/androidmedia/jni/gstamc-codec-jni.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/androidmedia/jni/gstamc-codec-jni.c b/sys/androidmedia/jni/gstamc-codec-jni.c
index 7d1cbadbd..dcc1314f6 100644
--- a/sys/androidmedia/jni/gstamc-codec-jni.c
+++ b/sys/androidmedia/jni/gstamc-codec-jni.c
@@ -31,6 +31,7 @@
#include "gstamcsurface.h"
#define PARAMETER_KEY_REQUEST_SYNC_FRAME "request-sync"
+#define PARAMETER_KEY_VIDEO_BITRATE "video-bitrate"
struct _GstAmcCodec
{
@@ -797,6 +798,27 @@ gst_amc_codec_request_key_frame (GstAmcCodec * codec, GError ** err)
}
gboolean
+gst_amc_codec_have_dynamic_bitrate ()
+{
+ /* Dynamic bitrate scaling is supported on Android >= 19,
+ * where the setParameters() call is available */
+ return (media_codec.setParameters != NULL);
+}
+
+gboolean
+gst_amc_codec_set_dynamic_bitrate (GstAmcCodec * codec, GError ** err,
+ gint bitrate)
+{
+ JNIEnv *env;
+
+ g_return_val_if_fail (codec != NULL, FALSE);
+
+ env = gst_amc_jni_get_env ();
+ return gst_amc_codec_set_parameter (codec, env, err,
+ PARAMETER_KEY_VIDEO_BITRATE, bitrate);
+}
+
+gboolean
gst_amc_codec_release (GstAmcCodec * codec, GError ** err)
{
JNIEnv *env;