| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Fixes https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/283
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1470>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Use API from Android 19 to request a keyframe from the MediaCodec
when indicated by the base class.
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
correct
It's a subclass of GstAmcSurfaceTexture so should have that as first
struct member or otherwise it won't work.
Fixes #1105
|
|
|
|
|
|
| |
wrapper struct
Fixes #1105
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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."
^
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
| |
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().
|
|
|
|
|
| |
It is not needed, we can just try to get the key and ignore error.
NdkMediaFormat doesn't have that method.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This will facilitate adding another implementation based on
NdkMediaCodec instead of JNI.
|
|
|
|
|
| |
_amc_gl_free() could be called after the GstAmcVideoDec has been
finalized, in the case downstream still has a ref to a buffer.
|
|
|
|
|
| |
Makes sure their path gets added to the uninstalled environment
and makes sure they get included in the docs.
|
| |
|
| |
|
|
|
|
| |
As needed by our ndk-build integration
|
|
|
|
|
|
| |
This is required before we enabled an indent test in the CI.
https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
|
| |
|
|
|
|
| |
Note that androidmedia requires Android gstgl
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
For the camera and sensor
Fixes a couple of ClassNotFound java exceptions when initializing GStreamer
off the main thread.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=782771
|
|
|
|
|
| |
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
|
|
|
|
|
|
|
|
| |
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
|
| |
|