Matthew Waters [Wed, 27 Jan 2016 09:23:21 +0000 (20:23 +1100)]
glcolorbalance: return HARDWARE from get_balance_type
Matthew Waters [Wed, 27 Jan 2016 09:04:00 +0000 (20:04 +1100)]
glsinkbin: add glcolorbalance element
This makes playbin not plug videobalance as glcolorbalance already exists and
implements the GstColorBalance interface.
Matthew Waters [Wed, 27 Jan 2016 08:56:36 +0000 (19:56 +1100)]
gl: move control binding proxy implementation from glvideomixer
Other elements may need to use it's functionality
Matthew Waters [Wed, 27 Jan 2016 07:17:06 +0000 (18:17 +1100)]
glcolorbalance: create the shader if it doesn't exist in the render callback
Changing the properties may result in glcolorbalance moving from passthrough to
non-passthrough and we weren't creating the shader in that case.
Matthew Waters [Mon, 25 Jan 2016 05:29:46 +0000 (16:29 +1100)]
qt: specify that we currently only take 2D textures
Fixes black screen video playback on android without a caps filter.
Matthew Waters [Mon, 25 Jan 2016 08:11:38 +0000 (19:11 +1100)]
glvideoflip: incorporate the aspect ratio into the scale_x calculations
1. Otherwise rotating the video will clip and show black bars due to
gltransformation's implementation.
2. The other option of make gltransformation aspect-agnostic produces
incorrect output with perspective transformations.
Alessandro Decina [Wed, 27 Jan 2016 03:36:36 +0000 (14:36 +1100)]
applemedia: avfvideosrc: actually set the configured framerate
Actually set the configured framerate. Before we only used to set the first
matching framerate range. On iOS where the camera reports ranges [2, 60], we
used to configure the camera to output anything between 2 and 60fps.
Luis de Bethencourt [Mon, 25 Jan 2016 22:30:29 +0000 (22:30 +0000)]
opencv: add mask property to cvlaplace
Add a "mask" property that sets whether the edges by cvLaplace should be
used as a mask on the original input or not. The same way the original
image is copied to the edges in edgedetect.
Luis de Bethencourt [Mon, 25 Jan 2016 21:42:52 +0000 (21:42 +0000)]
opencv: add mask property to cvsobel
Add a "mask" property that sets whether the detected derivative edges
should be used as a mask on the original input or not. The same way
the original image is added to the edges in edgedetect.
Luis de Bethencourt [Mon, 25 Jan 2016 15:19:37 +0000 (15:19 +0000)]
opencv: update deprecated function in skindetect
cvCvtPixToPlane() has been deprecated in OpenCV 3.0, and cvSplit() is the
suggested replacement. Since cvSplit() is available in OpenCV 2.4, it is
safe and cautious to update the function usage before it becomes an issue.
Luis de Bethencourt [Mon, 25 Jan 2016 11:43:59 +0000 (11:43 +0000)]
opencv: fix cvlaplace
cvlaplace was also affected by the silent change in OpenCV API, same as
cvsobel. It hasn't been working for a while. It would return a plain black
image. This commit updates the usage of cvLaplace by using cvCvtColor to
create the grayscale intermediate image to process. This also means there
is no need anymore to use GstBaseTransform's transform_caps, since the pads
are RGB.
Vineeth TM [Mon, 25 Jan 2016 04:33:09 +0000 (13:33 +0900)]
h265parse: Fix buffer leak when sps is not present
When sps data is NULL, the buffer allocated and mapped is not being freed.
In this scenario there is no need to allocate the buffer as we are supposed to return NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=761070
Vineeth TM [Mon, 25 Jan 2016 03:05:12 +0000 (12:05 +0900)]
h265parse: Fix buffer memory leak.
While setting caps, codec_data buffer is mapped, but not being unmapped
leading to memory leaks.
https://bugzilla.gnome.org/show_bug.cgi?id=761070
Luis de Bethencourt [Sat, 23 Jan 2016 17:10:51 +0000 (17:10 +0000)]
opencv: fix cvsobel
cvsobel han't been working for a while due to a silent change in OpenCV
API. It would return a plain black image. This commit updates the usage
of cvSobel by using cvCvtColor to create the grayscale image to process.
This also means there is no need to use GstBaseTransform's transform_caps
anymore, since the pads can be RGB.
Sebastian Dröge [Sat, 23 Jan 2016 03:30:05 +0000 (05:30 +0200)]
pkg-config: Properly version and install base/audio/video .pc files
https://bugzilla.gnome.org/show_bug.cgi?id=760733#c17
Alex Ashley [Fri, 22 Jan 2016 16:43:03 +0000 (16:43 +0000)]
adaptivedemux: fix leak of stream->internal_pad
The function gst_adaptive_demux_stream_update_source() function creates
a new GstPad called internal_pad. This pad is not freed when releasing
the stream.
The solution is to set GST_PAD_FLAG_NEED_PARENT so that the chain
functions do not get called when the pad has no parent and then
remove the parent in the gst_adaptive_demux_stream_free() function. This
causes the refcount of the pad to be set to zero.
https://bugzilla.gnome.org/show_bug.cgi?id=760982
John Chang [Thu, 21 Jan 2016 14:00:44 +0000 (22:00 +0800)]
mpdparser: Use RepresentationIndex instead of Initialization to get the URL of the RepresentationIndex
https://bugzilla.gnome.org/show_bug.cgi?id=760936
Sebastian Dröge [Fri, 22 Jan 2016 15:25:28 +0000 (17:25 +0200)]
ahc: Fail gracefully if our callback class can't be found
Instead of just ignoring that error and then calling JNI functions with NULL,
which will kill the virtual machine.
The error handling here needs some further improvements though, errors in more
places are just ignored.
Sebastian Dröge [Fri, 22 Jan 2016 15:22:47 +0000 (17:22 +0200)]
ahc: Initialize GError pointer with NULL
Otherwise there will be assertions.
Sebastian Dröge [Fri, 22 Jan 2016 15:18:58 +0000 (17:18 +0200)]
amcvideodec: Only free GstAmcBuffer if it's not NULL
And also free it on GL errors.
Julien Moutte [Wed, 13 Jan 2016 21:05:49 +0000 (22:05 +0100)]
decklinkvideosrc: implement RGB capture support
Combine mode and format to generate caps and support the flags from VideoChanged callback to support RGB capture.
https://bugzilla.gnome.org/show_bug.cgi?id=760594
Sebastian Dröge [Fri, 22 Jan 2016 14:22:07 +0000 (16:22 +0200)]
amc: Add an assertion for NULL GErrors
Should never happen! But an assertion is better than a NULL pointer
dereference.
Sebastian Dröge [Fri, 22 Jan 2016 14:14:46 +0000 (16:14 +0200)]
ahc: Fix indentation
Sebastian Dröge [Fri, 22 Jan 2016 14:13:45 +0000 (16:13 +0200)]
amc: MediaCodec::getOutputBuffer() can return NULL without exception
Happens when doing zerocopy rendering, or when passing a wrong index to it.
Handle this properly for zerocopy rendering, fail properly for the other
cases.
https://bugzilla.gnome.org/show_bug.cgi?id=760961
Sebastian Dröge [Sat, 16 Jan 2016 16:59:43 +0000 (18:59 +0200)]
base/audio/video: Install headers and pkg-config files
They are still considered unstable API but it would be good to give them some
wider testing already to make sure the API is useful.
https://bugzilla.gnome.org/show_bug.cgi?id=760733
Sebastian Dröge [Sat, 16 Jan 2016 16:56:26 +0000 (18:56 +0200)]
audio: Move audioaggregator base class to a library
It's useful enough already to be used in other elements for audio aggregation,
let's give people the opportunity to use it and give it some API testing.
https://bugzilla.gnome.org/show_bug.cgi?id=760733
Holger Kaelberer [Thu, 21 Jan 2016 22:13:36 +0000 (23:13 +0100)]
glwindow: Fix android build
https://bugzilla.gnome.org/show_bug.cgi?id=760972
Alessandro Decina [Fri, 22 Jan 2016 02:51:49 +0000 (13:51 +1100)]
applemedia: texture cache: copy the input metas
Copy the input metas so avfvideosrc and vtenc can fast path to using
CVPixelBuffer(s) even when using GLMemory.
Nicolas Dufresne [Thu, 21 Jan 2016 18:50:44 +0000 (13:50 -0500)]
Merge branch 'android-hardware-camera'
This branch adds support for Android Hardware Camera API through a new
element called ahcsrc. This is the "old" Android Camera API, then only
API available on Android 4.X.
https://bugzilla.gnome.org/show_buf.cgi?id=737786
Nicolas Dufresne [Fri, 8 Jan 2016 21:16:09 +0000 (16:16 -0500)]
ahcsrc: Fix latency reporting
Currently it was wrongly reporting min/max as being the shortest and
longest possible frame duration. This is not how latency works in
GStreamer.
Fix by reporting min latency as being the longest possible duration of
one frame. As we don't know how many buffers the stack can accumulate, we
simply assume that max latency is the same (the usual default behaviour).
George Kiagiadakis [Mon, 7 Dec 2015 13:31:40 +0000 (14:31 +0100)]
ahcsrc: fix deadlock when flushing
_data_queue_item_free() calls gst_buffer_unref(), which
calls gst_ahc_src_buffer_free_func(), which calls
g_mutex_lock() on self->mutex and there you go... deadlock!
Justin Kim [Thu, 24 Dec 2015 03:51:13 +0000 (12:51 +0900)]
ahcsrc: porting from 0.10 to 1.0
Justin Kim [Thu, 24 Dec 2015 03:14:24 +0000 (12:14 +0900)]
move androidcamera into androidmedia
This commit is a part of portng android hardware camera from 0.10 implementation.
To preserve history and get diff clearly, the interesting files are moved to
deployment directory and the remaining files are removed.
Youness Alaoui [Mon, 7 Jan 2013 23:27:40 +0000 (18:27 -0500)]
androidcamera: Separate release and free APIs
Youness Alaoui [Mon, 7 Jan 2013 23:20:47 +0000 (18:20 -0500)]
androidmedia: Fix get_level and get_profile exception checking by not using return
Youness Alaoui [Mon, 7 Jan 2013 23:19:28 +0000 (18:19 -0500)]
androidmedia: Add extern gint declarations
Youness Alaoui [Mon, 7 Jan 2013 23:18:18 +0000 (18:18 -0500)]
gstdvm: Fix GST_DVM_GET_STATIC_FIELD
Youness Alaoui [Fri, 30 Nov 2012 01:10:19 +0000 (20:10 -0500)]
androidcamera: Small refactor in case open doesn't throw an exception but returns null
Sebastian Dröge [Thu, 13 Dec 2012 17:57:58 +0000 (17:57 +0000)]
androidcamera: Fix some compiler warnings
Sebastian Dröge [Thu, 13 Dec 2012 17:56:01 +0000 (17:56 +0000)]
dvm: Rename gst-dvm.[ch] to gstdvm.[ch] for consistency with other GStreamer code
Sebastian Dröge [Thu, 13 Dec 2012 17:40:22 +0000 (17:40 +0000)]
dvm: Add new function to check if we started a VM or only used an existing one
Sebastian Dröge [Thu, 13 Dec 2012 17:40:04 +0000 (17:40 +0000)]
androidmedia: Make everything compile with the new wrappers
Sebastian Dröge [Thu, 13 Dec 2012 12:13:27 +0000 (12:13 +0000)]
androidmedia: Add remaining bits of the Java wrappers using libgstdvm
Sebastian Dröge [Thu, 13 Dec 2012 12:13:12 +0000 (12:13 +0000)]
dvm: Add some more helper macros
Sebastian Dröge [Wed, 12 Dec 2012 18:10:13 +0000 (18:10 +0000)]
androidmedia: Remove g_return_if_fails()
This is not public API so it has no advantage to have them here.
Youness Alaoui [Thu, 29 Nov 2012 01:53:51 +0000 (20:53 -0500)]
androidmedia: Use gst-dvm and refactor java wrappers (WIP)
Moved the java wrapper API into its own files and made use of the
gst-dvm macros. Also renamed the API to have the proper naming
convention and coding style in order to match the one in androidcamera.
This is a work in progress! "android/media/MediaCodecList" is still missing
and the actual elements have not been ported to use the new function names.
Youness Alaoui [Wed, 28 Nov 2012 20:26:49 +0000 (15:26 -0500)]
androidcamera: Add G_BEGIN/END_DECLS to the .h
Youness Alaoui [Wed, 28 Nov 2012 00:25:06 +0000 (19:25 -0500)]
gst-dvm: Create a gst-dvm library using part of androidcamera
Youness Alaoui [Tue, 27 Nov 2012 22:24:35 +0000 (17:24 -0500)]
androidcamera: Adding a device-name property
Youness Alaoui [Wed, 21 Nov 2012 00:56:22 +0000 (19:56 -0500)]
androidcamera: Add element documentation
Youness Alaoui [Mon, 19 Nov 2012 23:25:12 +0000 (18:25 -0500)]
androidcamera: Prettify the gstahccallback.c generation line in the makefile
Youness Alaoui [Thu, 15 Nov 2012 17:33:26 +0000 (12:33 -0500)]
androicamera: Make sure the TMP env var exists and check for DEX var too
Youness Alaoui [Wed, 14 Nov 2012 16:38:51 +0000 (11:38 -0500)]
androidcamera: Do not use gst_list_free_full since it requires glib 2.28
Youness Alaoui [Mon, 12 Nov 2012 23:59:57 +0000 (18:59 -0500)]
androidcamera: Add smooth-zoom property for smooth zooming feature
Youness Alaoui [Mon, 12 Nov 2012 23:19:20 +0000 (18:19 -0500)]
androidcamera: Add focal-length, view-angle and video-stabilization properties
Youness Alaoui [Mon, 12 Nov 2012 23:18:11 +0000 (18:18 -0500)]
androidcamera: Add video stabilization API
Youness Alaoui [Mon, 12 Nov 2012 21:38:40 +0000 (16:38 -0500)]
androidcamera: Add property probe for the photography properties
Youness Alaoui [Fri, 9 Nov 2012 23:21:21 +0000 (18:21 -0500)]
androidcamera: Small refactor
Youness Alaoui [Fri, 9 Nov 2012 21:57:30 +0000 (16:57 -0500)]
androidcamera: Fix small memleak
Youness Alaoui [Fri, 9 Nov 2012 21:55:57 +0000 (16:55 -0500)]
androidcamera: Store GParamSpec for properties and use that for the PropertyProbe comparison
Youness Alaoui [Fri, 9 Nov 2012 17:23:37 +0000 (12:23 -0500)]
androidcamera: Handle zoom comparison better, and avoid float precision issue
Youness Alaoui [Fri, 9 Nov 2012 17:22:12 +0000 (12:22 -0500)]
androidcamera: Fix EV compensation support
Youness Alaoui [Thu, 8 Nov 2012 00:16:05 +0000 (19:16 -0500)]
androidcamera: Implement new GstPhotography enums
Youness Alaoui [Wed, 7 Nov 2012 20:38:19 +0000 (15:38 -0500)]
androidcamera: Do not advertise zoom capabilities if camera doesn't support zoom
Youness Alaoui [Wed, 7 Nov 2012 20:37:43 +0000 (15:37 -0500)]
androidcamera: Be NULL-safe when a JNI list is returned
Youness Alaoui [Fri, 2 Nov 2012 22:07:24 +0000 (18:07 -0400)]
androidcamera: Use strcmp on the GParamSpec property name
Use strcmp instead of using the property_id because it's overriden
Youness Alaoui [Fri, 2 Nov 2012 22:00:55 +0000 (18:00 -0400)]
androidmedia: Implement property probe for zoom and ev_compensation
Youness Alaoui [Fri, 2 Nov 2012 21:00:45 +0000 (17:00 -0400)]
androidcamera: Add autofocus support
Youness Alaoui [Fri, 2 Nov 2012 20:59:42 +0000 (16:59 -0400)]
androidcamera: Override properties
Youness Alaoui [Thu, 1 Nov 2012 19:24:12 +0000 (15:24 -0400)]
anroidcamera: Add support for the GstPhotography interface
Youness Alaoui [Thu, 1 Nov 2012 15:58:33 +0000 (11:58 -0400)]
androidcamera: Add more wrappers for the Camera.Parameters class
Youness Alaoui [Wed, 31 Oct 2012 18:21:47 +0000 (14:21 -0400)]
androidcamera: Send proper error when unable to open camera
Youness Alaoui [Tue, 30 Oct 2012 16:13:12 +0000 (12:13 -0400)]
androidcamera: Adding device-orientation and device-facing properties
Youness Alaoui [Tue, 30 Oct 2012 15:35:36 +0000 (11:35 -0400)]
androidcamera: Add device property and property probe it
Youness Alaoui [Tue, 30 Oct 2012 14:12:06 +0000 (10:12 -0400)]
androidcamera: Fix memleak and lose of buffer if the data queue is flushing
Youness Alaoui [Tue, 30 Oct 2012 13:49:39 +0000 (09:49 -0400)]
androidcamera: Calling set_preview_callback with NULL frees all the buffers in the queue.
We must not do it at the stop otherwise we lose all our buffers. It's best to do
it during the close, so we free up the resources.
Youness Alaoui [Tue, 30 Oct 2012 13:49:03 +0000 (09:49 -0400)]
androidcamera: Drop frames if we don't have a clock and var rename
Youness Alaoui [Tue, 30 Oct 2012 13:45:55 +0000 (09:45 -0400)]
androicamera: if buffer size increases, then readd new buffers to the queue and drop old ones
The on_preview callback gets called with NULL if the buffer in the queue is
too small, so we need to handle the case where the array is NULL. Also
there is a bug in the android source which makes it drop one of the buffers
so if we had 5 buffers, and we renegotiate to a higher resolution, then we'd
only get 4 calls to on_preview_frame with NULL, with one being dropped.
This means we can't reallocate the buffers in the if (data == NULL) case
because we might end up with 0 buffers in the end.
Youness Alaoui [Tue, 30 Oct 2012 13:44:31 +0000 (09:44 -0400)]
androidcamera: If callback is NULL then set it to NULL in jni
Nicolas Dufresne [Thu, 21 Jan 2016 18:46:52 +0000 (13:46 -0500)]
androidcamera: Fix debug output
Sebastian Dröge [Fri, 26 Oct 2012 10:57:50 +0000 (12:57 +0200)]
androidcamera: Chose the smallest range that contains the target framerate
Sebastian Dröge [Fri, 26 Oct 2012 10:43:09 +0000 (12:43 +0200)]
androidcamera: Improve negotiation
And make sure we set an FPS range from the supported ones
now instead of a potentially unsupported range.
Sebastian Dröge [Fri, 26 Oct 2012 10:19:55 +0000 (12:19 +0200)]
androidcamera: Implement LATENCY query
Sebastian Dröge [Fri, 26 Oct 2012 09:57:47 +0000 (11:57 +0200)]
androidcamera: Make sure we always have a valid camera source instance in the buffer free function
Sebastian Dröge [Fri, 26 Oct 2012 09:46:23 +0000 (11:46 +0200)]
androidcamera: Make sure to not call any callbacks after stopping the camera
Fixes segfaults when rotating the device for example.
Youness Alaoui [Wed, 24 Oct 2012 19:25:54 +0000 (15:25 -0400)]
androidcamera: Fix timestamping issue
Youness Alaoui [Wed, 24 Oct 2012 17:59:59 +0000 (13:59 -0400)]
androidcamera: Add caps negotiation support
Youness Alaoui [Wed, 24 Oct 2012 14:55:52 +0000 (10:55 -0400)]
Add support for getcaps that probes the camera for capabilities
Youness Alaoui [Tue, 23 Oct 2012 17:54:46 +0000 (13:54 -0400)]
androidmedia: Drop the first buffer to have proper timestamping
Youness Alaoui [Tue, 23 Oct 2012 15:14:00 +0000 (11:14 -0400)]
androidmedia: Flush the queue when the source is stopped
Youness Alaoui [Tue, 23 Oct 2012 15:13:37 +0000 (11:13 -0400)]
androidmedia: Allocate/free texture when camera is open/closed
Youness Alaoui [Tue, 23 Oct 2012 15:13:12 +0000 (11:13 -0400)]
androidmedia: add a gst_ahc_src_close function
Youness Alaoui [Tue, 23 Oct 2012 15:12:19 +0000 (11:12 -0400)]
androidmedia: Fix small indentation issues
Youness Alaoui [Tue, 23 Oct 2012 14:12:52 +0000 (10:12 -0400)]
androidmedia: Disable plugin if android-sdk isn't found and dynamically search for platform version
Youness Alaoui [Tue, 23 Oct 2012 13:01:50 +0000 (09:01 -0400)]
androidcamera: Add support for using DexLoader with Embeded GstAhcCallback.jar
Youness Alaoui [Wed, 17 Oct 2012 23:42:59 +0000 (19:42 -0400)]
androidcamera: Fix compilation issues
Youness Alaoui [Wed, 17 Oct 2012 23:42:59 +0000 (19:42 -0400)]
Remove previous cruft and create androidcamera plugin
Youness Alaoui [Wed, 17 Oct 2012 23:42:59 +0000 (19:42 -0400)]
Free the buffers and readd the arrays when the queue is cleared
Youness Alaoui [Wed, 17 Oct 2012 23:42:59 +0000 (19:42 -0400)]
Add a GST_DVM_CALL macro to ease function calling with exception check
Youness Alaoui [Wed, 17 Oct 2012 23:42:59 +0000 (19:42 -0400)]
Calculate timestamp at reception of the buffer, not when pushing it out