Tim-Philipp Müller
a561b1bd86
Use g_memdup2() where available and add fallback for older GLib versions
...
g_memdup() is deprecated since GLib 2.68 and we want to avoid
deprecation warnings with recent versions of GLib.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2280 >
2021-08-05 20:51:00 +05:30
Jan Schmidt
29e3d09014
androidmedia: Allow dynamic bitrate changes on Android >= 19
...
Android 19 added an API for dynamically changing the bitrate in a running
codec.
Also make it so that even when not update-able at runtime, parameters will at least
be stored so that they take effect the next the codec is restarted.
2020-02-09 02:19:12 +11:00
Jan Schmidt
1b8bf1be01
androidmedia: Handle force-keyunit requests
...
Use API from Android 19 to request a keyframe from the MediaCodec
when indicated by the base class.
2020-02-09 02:19:12 +11:00
Jan Schmidt
cfe318ea03
androidmedia: Permit Codec surface to be NULL
...
The AMC encoder wrapper doesn't support input surfaces yet,
and passes NULL when configuring the underlying codec.
This was broken in commit 7fcf3e
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1102
2020-02-09 02:19:12 +11:00
Cheng-Chang Wu
b5e506d12b
androidmedia: Make sure that the first member of GstAmcSurfaceTextureJNI is correct
...
It's a subclass of GstAmcSurfaceTexture so should have that as first
struct member or otherwise it won't work.
Fixes #1105
2019-10-25 13:56:13 +00:00
Cheng-Chang Wu
e71f620eb0
androidmedia: Call JNI method with the actual Java object instead of our wrapper struct
...
Fixes #1105
2019-10-25 13:56:13 +00:00
Javier Celaya
8684dffe50
Fix get_supported_types function name
2019-10-16 06:42:37 +00:00
Javier Celaya
f267adeb4a
Fix releasing local refs
2019-10-16 06:42:37 +00:00
Javier Celaya
3f0d60515a
Fix names of MediaCodecInfo inner classes
2019-10-16 06:42:37 +00:00
Javier Celaya
26ea6d7fbb
Fix getting MediaCodecList static methods
2019-10-16 06:42:37 +00:00
Xavier Claessens
83883718ee
amc: Print error when failing to register listener
2019-08-20 08:53:55 -04:00
Xavier Claessens
9ab76c73ea
amc: Do not use g_log() for criticals
2019-08-20 08:53:55 -04:00
Xavier Claessens
a604796c41
amc: Remove unused gst_amc_surface_texture_set_default_buffer_size()
2019-08-20 08:53:55 -04:00
Xavier Claessens
50cdaf1036
amc: Fix matrix constness in _get_transform_matrix()
2019-08-20 08:53:55 -04:00
Xavier Claessens
ad7c4f5f27
amc: Select between encoder/decoder at GstAmcCodec construct time
...
Magical 0/1 values where passed to gst_amc_codec_configure() flags
argument. It's more natural to have a boolean is gst_amc_codec_new().
2019-08-20 08:53:55 -04:00
Xavier Claessens
0fe0270244
amc: Remove gst_amc_format_contains_key()
...
It is not needed, we can just try to get the key and ignore error.
NdkMediaFormat doesn't have that method.
2019-08-20 08:53:55 -04:00
Xavier Claessens
7fcf3ebf07
amc: Turn GstAmcSurfaceTexture into a base class with JNI implementation
2019-08-20 08:53:55 -04:00
Xavier Claessens
29ef89983c
amc: Create JNI wrapper for MediaCodecList
...
There is no NdkMediaCodecList API yet, but it is still better to isolate
JNI code. This will facilitate porting to a native API if Google ever
release one.
2019-08-20 08:53:55 -04:00
Xavier Claessens
515398a9ff
amc: Move MediaCodec JNI wrapper into its own module
...
This will facilitate adding another implementation based on
NdkMediaCodec instead of JNI.
2019-08-20 08:53:55 -04:00