summaryrefslogtreecommitdiff
path: root/sys/androidmedia
Commit message (Collapse)AuthorAgeFilesLines
* Use g_memdup2() where available and add fallback for older GLib versionsTim-Philipp Müller2021-08-055-6/+6
| | | | | | | 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>
* gst: don't use volatile to mean atomicMatthew Waters2021-03-223-3/+3
| | | | | | | | | | | | volatile is not sufficient to provide atomic guarantees and real atomics should be used instead. GCC 11 has started warning about using volatile with atomic operations. https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719 Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2098>
* amc: Fix crash when encoding AVCXavier Claessens2020-10-291-1/+2
| | | | | | | gstamcvideoenc.c calls gst_amc_avc_profile_to_string() with alternatives set to NULL which causes a crash. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1732>
* androidmedia: ignore additional camera effects if not presentAndrew Branson2020-08-042-112/+145
| | | | | | Fixes https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/283 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1470>
* amc/videodec: only retrieve the stride/slice-height for raw outputMatthew Waters2020-05-211-8/+8
| | | | | | | | When outputting to a surface, these values may not exist. As found on a Google Pixel 3. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1284>
* amcvideodec: fix sync meta copying not taking a referenceMatthew Waters2020-05-151-1/+1
| | | | | | | | Fixup for 9b9e39be248389370e80b429da5a528418733483: amc: Fix crash when a sync_meta survives its sink https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/603 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1272>
* androidmedia: Support float i-frame-intervalJan Schmidt2020-02-094-4/+62
| | | | | | Android 25 added support for i-frame-interval to be a floating point value. Store the property as a float and use the newer version when it's available.
* androidmedia: Allow dynamic bitrate changes on Android >= 19Jan Schmidt2020-02-095-3/+76
| | | | | | | | 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.
* androidmedia: Handle force-keyunit requestsJan Schmidt2020-02-094-0/+122
| | | | | Use API from Android 19 to request a keyframe from the MediaCodec when indicated by the base class.
* androidmedia: Permit Codec surface to be NULLJan Schmidt2020-02-091-3/+4
| | | | | | | | 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
* androidmedia: Add new effects and scene modes to Camera parametersAndrew Branson2019-11-192-0/+251
|
* amc: Change plugin name if it's built for Magic LeapXavier Claessens2019-11-082-4/+14
|
* amc: Add MLSDK implementationXavier Claessens2019-11-088-21/+1210
|
* documentation: fixed a heap o' typosAaron Boxer2019-11-054-9/+9
|
* androidmedia: Make sure that the first member of GstAmcSurfaceTextureJNI is ↵Cheng-Chang Wu2019-10-251-0/+1
| | | | | | | | | correct It's a subclass of GstAmcSurfaceTexture so should have that as first struct member or otherwise it won't work. Fixes #1105
* androidmedia: Call JNI method with the actual Java object instead of our ↵Cheng-Chang Wu2019-10-251-1/+2
| | | | | | wrapper struct Fixes #1105
* Fix get_supported_types function nameJavier Celaya2019-10-161-1/+1
|
* Fix releasing local refsJavier Celaya2019-10-161-2/+2
|
* Fix names of MediaCodecInfo inner classesJavier Celaya2019-10-161-2/+2
|
* Fix getting MediaCodecList static methodsJavier Celaya2019-10-161-2/+2
|
* Remove autotools build systemTim-Philipp Müller2019-10-141-61/+0
|
* ahcsrc: #define GST_USE_UNSTABLE_API for phtography intefaceMatthew Waters2019-08-281-0/+1
| | | | | | | | | | | | Fixes werror build: In file included from ../sys/androidmedia/gstahcsrc.c:70: ../gst-libs/gst/interfaces/photography.h:27:2: error: "The GstPhotography interface is unstable API and may change in future." [-Werror,-W#warnings] #warning "The GstPhotography interface is unstable API and may change in future." ^ ../gst-libs/gst/interfaces/photography.h:28:2: error: "You can define GST_USE_UNSTABLE_API to avoid this warning." [-Werror,-W#warnings] #warning "You can define GST_USE_UNSTABLE_API to avoid this warning." ^
* amc: Do not skip decoders that have no profile levelsXavier Claessens2019-08-271-2/+2
|
* amc: Print error when failing to register listenerXavier Claessens2019-08-201-2/+7
|
* amc: Do not use g_log() for criticalsXavier Claessens2019-08-201-2/+2
|
* amc: crop values are not mandatory in formatXavier Claessens2019-08-201-17/+8
| | | | | | Android documentation has example code how to compute width and height when crop values are present. https://developer.android.com/reference/android/media/MediaCodec#accessing-raw-video-bytebuffers-on-older-devices
* amc: Remove unused gst_amc_surface_texture_set_default_buffer_size()Xavier Claessens2019-08-203-42/+0
|
* amc: Fix matrix constness in _get_transform_matrix()Xavier Claessens2019-08-203-4/+4
|
* amc: Select between encoder/decoder at GstAmcCodec construct timeXavier Claessens2019-08-205-10/+16
| | | | | 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().
* amc: Remove gst_amc_format_contains_key()Xavier Claessens2019-08-203-42/+6
| | | | | It is not needed, we can just try to get the key and ignore error. NdkMediaFormat doesn't have that method.
* amc: Turn GstAmcSurfaceTexture into a base class with JNI implementationXavier Claessens2019-08-2017-411/+648
|
* amc: Create JNI wrapper for MediaCodecListXavier Claessens2019-08-205-326/+640
| | | | | | 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.
* amc: Move MediaCodec JNI wrapper into its own moduleXavier Claessens2019-08-2010-1572/+1692
| | | | | This will facilitate adding another implementation based on NdkMediaCodec instead of JNI.
* amc: Fix crash when a sync_meta survives its sinkXavier Claessens2019-08-141-1/+2
| | | | | _amc_gl_free() could be called after the GstAmcVideoDec has been finalized, in the case downstream still has a ref to a buffer.
* meson: add more plugins to plugins listTim-Philipp Müller2019-05-301-0/+1
| | | | | Makes sure their path gets added to the uninstalled environment and makes sure they get included in the docs.
* androidmedia: added path /system/vendor/etc to dependencyRoman Shpuntov2019-05-031-2/+2
|
* androidmedia: add Hardware tag to element metadataTim-Philipp Müller2019-02-193-3/+3
|
* androidmedia: also install java sourcesMatthew Waters2018-12-071-0/+10
| | | | As needed by our ndk-build integration
* Run gst-indent through the filesJordan Petridis2018-11-281-52/+70
| | | | | | This is required before we enabled an indent test in the CI. https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
* androidmedia/meson: we also depend on gmodule and orcMatthew Waters2018-08-311-1/+1
|
* meson: Add build files for androidmedia and openslesNirbheek Chauhan2018-08-291-0/+41
| | | | Note that androidmedia requires Android gstgl
* androidmedia: Invert the transform matrix from the decoderJan Schmidt2018-06-151-1/+64
| | | | | | | The transform from mediacodec applies to the texture coords, but GStreamer affine meta applies to the video geometry, which is the opposite - so invert it to get display correct for decoders that require transforming
* ahc: enable autofocus callbackJustin Kim2018-01-261-3/+3
| | | | | | | It should be enabled to set autofocus properly, but it seems to be commented out mistakenly from the first commit. https://bugzilla.gnome.org/show_bug.cgi?id=790945
* gl: update plugins to use GstGL from -baseTim-Philipp Müller2017-12-191-3/+3
|
* androidmedia: when flushing, better handle IllegalStateException received ↵Ursula Maplehurst2017-12-063-15/+30
| | | | | | | | | | | | | | | | | | | | | | | | from getOutputBuffer 1. Similar to 880f3d8, don't consider not getting an output buffer as an error during flushing. I've seen the following sometimes when encoding: W GStreamer+amcvideoenc: java.lang.IllegalStateException W GStreamer+amcvideoenc: at android.media.MediaCodec.getBuffer(Native Method) W GStreamer+amcvideoenc: at android.media.MediaCodec.getOutputBuffer(MediaCodec.java:2886) 2. For amcvideodec/enc, call _find_nearest_frame (which grabs a fresh reference on a GstVideoCodecFrame) after we have an output buffer, so as to not leak the reference, in case getting an output buffer fails. Otherwise, if we get an error grabbing the output buffer, we leak the reference to the frame. This can cause issues with a v4l2bufferpool feeding the encoder not being able to clean itself up properly due to buffers still being marked as in-use. https://bugzilla.gnome.org/show_bug.cgi?id=791258
* amc: actually use the provided application class loaderMatthew Waters2017-09-053-5/+12
| | | | | | | For the camera and sensor Fixes a couple of ClassNotFound java exceptions when initializing GStreamer off the main thread.
* amcvideodec: Unref downstream caps after usageSebastian Dröge2017-05-181-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=782771
* Remove plugin specific static build optionNicolas Dufresne2017-05-161-1/+0
| | | | | Static and dynamic plugins now have the same interface. The standard --enable-static/--enable-shared toggle are sufficient.
* amcvideodec/enc: Correctly check for no PTS on input buffersshakin chou2017-04-262-2/+4
| | | | | | | | MediaCodec gives us a presentation timestamp of 0 if it does not know anything, but GStreamer gives us GST_CLOCK_TIME_NONE. Don't mix up these two. https://bugzilla.gnome.org/show_bug.cgi?id=780190
* docs: Port all docstring to gtk-doc markdownThibault Saunier2017-04-122-21/+18
|