Tim-Philipp Müller [Wed, 3 Feb 2016 21:13:58 +0000 (21:13 +0000)]
debugutils: use generic marshaller
Vincent Penquerc'h [Wed, 3 Feb 2016 16:28:42 +0000 (16:28 +0000)]
opus: fix FEC
FEC may only be used when PLC is enabled on the audio decoder,
as it relies on empty buffers to generate audio from the next
buffer. Hooking to the gap events doesn't work as the audio
decoder does not like more buffers output than it sends.
The length of data to generate using FEC from the next packet
is determined by rounding the gap duration to nearest. This
ensures that duration imprecision does not cause quantization
to 2.5 milliseconds less than available. Doing so causes the
Opus API to fail decoding. Such duration imprecision is common
in live cases.
The buffer to consider when determining the length of audio
to be decoded is the previous buffer when using FEC, and the
new buffer otherwise. In the FEC case, this means we determine
the amount of audio from the previous buffer, whether it was
missing or not (and get the data either from this buffer, or
the current one if the previous one was missing).
Matthew Waters [Tue, 2 Feb 2016 23:59:23 +0000 (10:59 +1100)]
gltransformation: reconfigure the src when changing to/from passthrough
Otherwise it's very possible that any GL resources have not been created yet.
Matthew Waters [Tue, 2 Feb 2016 23:52:08 +0000 (10:52 +1100)]
glvideoflip: correctly update the output caps on method changes
When changing methods we may need different output caps.
Reynaldo H. Verdejo Pinochet [Tue, 2 Feb 2016 19:20:17 +0000 (11:20 -0800)]
tinyalsasink: fix tinalsa typo
Reynaldo H. Verdejo Pinochet [Tue, 2 Feb 2016 19:06:52 +0000 (11:06 -0800)]
tinyalsasink: fix sample launch line
David Waring [Tue, 2 Feb 2016 14:46:30 +0000 (14:46 +0000)]
libs: player: use configured GST_PKG_CONFIG_PATH when invoking the introspection scanner
https://bugzilla.gnome.org/show_bug.cgi?id=761460
Vincent Penquerc'h [Tue, 2 Feb 2016 15:20:48 +0000 (15:20 +0000)]
opusdec: fix wrong buffer being checked for missing data
This caused a decoding error if the resulting (wrong) buffer size
was passed to the Opus decoding API.
https://bugzilla.gnome.org/show_bug.cgi?id=758158
Arun Raghavan [Tue, 2 Feb 2016 10:56:09 +0000 (16:26 +0530)]
tinyalsasink: Use int type if we support a single rate/channel count
Avoids using an int range if the field we're setting is not actually a
range.
Matthew Waters [Tue, 2 Feb 2016 07:36:34 +0000 (18:36 +1100)]
Revert "gl/eagl: try getting a gles3 context"
This reverts commit
96b9666d596be115fd4b446ef846508b7fd05c24.
This reverts commit
d11385d167d8843604ea23a05e2dea40b8bbac35.
This breaks the texture sharing with the applemedia elements as
CVOpenGLESTextureCache seems to have an arbitrary restriction on GLES2 only.
Matthew Waters [Tue, 2 Feb 2016 05:21:14 +0000 (16:21 +1100)]
glcolorconvert: don't skip subset structures
We may need them to transform into a different set of formats.
Fixes YUV->YUV with two glcolorconverts, e.g:
format=I420 ! glcolorconvert ! glcolorconvert ! format=NV12
Matthew Waters [Tue, 2 Feb 2016 05:19:54 +0000 (16:19 +1100)]
glbasefilter: always call gl_start when not called already
Fixes elements transitioning out of passthrough mode using GL resources that
hadn'e been allocated yet.
Matthew Waters [Tue, 2 Feb 2016 04:14:25 +0000 (15:14 +1100)]
glcolorconvert: fix RGB,rectangle->planar YUV conversion
Converting to GRAY is no fun. Another case of normalized vs unnormalized
texture coordinates.
Matthew Waters [Tue, 2 Feb 2016 02:51:18 +0000 (13:51 +1100)]
glcolorconvert: fix YUY2/UYVY,rectangle->RGB conversion
1.0 / width does not offset by one pixel in rectangular textures (which use
unnormalized coordinates).
Provide the actual pixel offset as a uniform to the shader.
Arun Raghavan [Wed, 27 Jan 2016 11:12:09 +0000 (16:42 +0530)]
tinyalsa: Add a new sink plugin using tinyalsa
This uses the tinyalsa library to playback to an ALSA device. Future
work can include using the mmap interface.
https://bugzilla.gnome.org/show_bug.cgi?id=761230
Matthew Waters [Tue, 2 Feb 2016 01:50:26 +0000 (12:50 +1100)]
glcolorconvert: perform better negotiation
1. Correctly describe what we can caps we can transform to/from.
i.e. no YUV->YUV or GRAY->YUV or YUV->GRAY (except for passthrough).
2. Prefer similar formats and ignore incompatible formats on fixation.
Thiago Santos [Wed, 27 Jan 2016 02:15:10 +0000 (23:15 -0300)]
tests: dashdemux: add test for updating stop position
Test that a seek that only updates the stop position works
as expected
Thiago Santos [Mon, 1 Feb 2016 12:48:33 +0000 (09:48 -0300)]
dashdemux: only update current reading position when needed
If the seek doesn't set the start/stop position, no need to
reposition the download index.
Thiago Santos [Fri, 29 Jan 2016 23:34:42 +0000 (20:34 -0300)]
dashdemux: respect seeking parameter
Instead of using the segment values, use the parameter
requested in the seeking argument
Thiago Santos [Mon, 1 Feb 2016 17:25:42 +0000 (14:25 -0300)]
tests: dash: fix dash tests after index fix
8e788f284508612982e8e38336eed676c2eec35a broke one of the
dash mpd tests. This updates and fixes it.
Julien Isorce [Mon, 1 Feb 2016 12:23:32 +0000 (12:23 +0000)]
gstglwindow: initialize navigation_loop to NULL
Useful when gst_gl_window.c::gst_gl_window_new is not used.
This is the case when using a custom GstGLWindow.
(ex: GstGLWindowGPUProcess from Chromium)
Tim-Philipp Müller [Mon, 1 Feb 2016 09:26:37 +0000 (09:26 +0000)]
gl: eagl: fix build
gstglcontext_eagl.m:238:45: error: too few arguments to function call,
expected at least 4, have 3
Alessandro Decina [Mon, 1 Feb 2016 04:13:03 +0000 (15:13 +1100)]
gldownload: allow video/x-raw as input
...and just passthrough. This is useful for pipelines where downstream must be
non-GL but upstream can optionally be GL.
Matthew Waters [Mon, 1 Feb 2016 01:57:32 +0000 (12:57 +1100)]
gl/eagl: try getting a gles3 context
Fallback to a gles2 context if that fails
Wang Xin-yu (王昕宇) [Thu, 21 Jan 2016 08:10:48 +0000 (16:10 +0800)]
glvideomixer: fix checker vbo leak
https://bugzilla.gnome.org/show_bug.cgi?id=760925
Holger Kaelberer [Sun, 24 Jan 2016 14:47:12 +0000 (15:47 +0100)]
tests: fix warning in qml example
https://bugzilla.gnome.org/show_bug.cgi?id=756082
Holger Kaelberer [Sun, 24 Jan 2016 14:42:32 +0000 (15:42 +0100)]
qt: Fix build for android
https://bugzilla.gnome.org/show_bug.cgi?id=756082
Tim-Philipp Müller [Mon, 1 Feb 2016 01:01:10 +0000 (01:01 +0000)]
Remove dead snapshot plugin
Was never ported and doesn't look like
we want it or need it in this form, can
do the same with the libgstvideo sample
conversion utility API now, but better
and in a more flexible way.
Tim-Philipp Müller [Mon, 1 Feb 2016 00:49:48 +0000 (00:49 +0000)]
rsvg: bump requirement to 2.36.2
Which allows us to simplify the configure check and
some special-casing in the code, and is plenty old
in any case.
Tim-Philipp Müller [Mon, 1 Feb 2016 00:29:37 +0000 (00:29 +0000)]
Remove dead libfame plugin
Was never even ported to 0.10, and the lib
has been unmaintained for ever and doesn't
even seem to be packaged any more.
Tim-Philipp Müller [Sun, 31 Jan 2016 19:09:57 +0000 (19:09 +0000)]
Remove dead audiofile plugin
This was never even ported to 0.10.
Tim-Philipp Müller [Sun, 31 Jan 2016 19:04:20 +0000 (19:04 +0000)]
Remove gsettings plugin which was never ported
Don't think we need this any longer or want to
support it, and clearly no one has been missing
it all these years either, so let's just get rid
of it.
Tim-Philipp Müller [Sun, 31 Jan 2016 16:02:33 +0000 (16:02 +0000)]
smoothstreaming: remove unused dependency on uridownloader
Tim-Philipp Müller [Sun, 31 Jan 2016 14:42:21 +0000 (14:42 +0000)]
faad: simplify configure check and require faad >= 2.7
Just check whether LATM is defined which is only available
in 2.7 and later. Allows us to simplify the configure check
a little and we can get rid of some hackish workarounds for
problems with earlier version headers.
Tim-Philipp Müller [Sat, 30 Jan 2016 17:31:41 +0000 (17:31 +0000)]
dvbsrc: drop unnecessary use of _stdint.h
Sebastian Dröge [Fri, 29 Jan 2016 22:39:26 +0000 (23:39 +0100)]
mxftypes: Generate UUIDs according to RFC4122 version 4 (aka random)
Instead of fully random UUIDs, these should follow a scheme.
Sebastian Dröge [Fri, 29 Jan 2016 20:09:44 +0000 (21:09 +0100)]
mxfmetadata: Properly write video line map data as an array of 32 bit integers
Sebastian Dröge [Fri, 29 Jan 2016 19:58:27 +0000 (20:58 +0100)]
mxfmetadata: DMSchemes in the Preface is a required field
Even if it has 0 entries.
Sebastian Dröge [Fri, 29 Jan 2016 17:41:52 +0000 (18:41 +0100)]
mxful: Fix Content Storage UL
Sebastian Dröge [Fri, 29 Jan 2016 17:28:03 +0000 (18:28 +0100)]
mxfmetadata: Best effort values must be written and if unset must contain the distinguished value
It's invalid to not write them at all.
Sebastian Dröge [Fri, 29 Jan 2016 16:36:11 +0000 (17:36 +0100)]
mxful: Add missing OperationalPattern UL, which fixes an off-by-one with the others
Sebastian Dröge [Fri, 29 Jan 2016 16:07:08 +0000 (17:07 +0100)]
mxfmux: Our body partition is always complete and closed
We have no metadata in it.
Sebastian Dröge [Fri, 29 Jan 2016 16:02:01 +0000 (17:02 +0100)]
mxfmux: Use IndexSID of 2 instead of 1
Some tools complain if essence and index have the same SID.
Sebastian Dröge [Fri, 29 Jan 2016 15:38:23 +0000 (16:38 +0100)]
mxfmux: Rewrite body partition pack on EOS and mark it as complete/closed
Matthew Waters [Fri, 29 Jan 2016 12:28:59 +0000 (23:28 +1100)]
amcvideodec: guard against not finding a valid frame in loop
Fixes sporadic crashes on finishing decoding a video.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
Matthew Waters [Fri, 29 Jan 2016 04:24:36 +0000 (15:24 +1100)]
amcvideodec: set our data pointer in java to NULL on close
The frame available callback can be called after deconfiguring the amc codec.
Guard against this by setting the back pointer to NULL on close() and ignoring
any NULL data pointer.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
Alessandro Decina [Fri, 29 Jan 2016 04:07:59 +0000 (15:07 +1100)]
applemedia: refactor GL context code
Rework the GL context code. Now both avfvideosrc and vtdec can create an
internal GL context for pushing textures. Both elements will still try to
use/switch to a local context where available (including after RECONFIGURE
events).
Wang Xin-yu (王昕宇) [Fri, 29 Jan 2016 02:35:15 +0000 (10:35 +0800)]
glprototypes: fix parameter type of glGenBuffers
The number of buffers should be GLsizei instead of GLuint.
https://bugzilla.gnome.org/show_bug.cgi?id=761272
Haihua Hu [Tue, 8 Dec 2015 06:09:58 +0000 (14:09 +0800)]
gleffects: fix gleffects fisheye shader compile error
On some embedded systems, sqrt() is not supported in the shader,
use the actual value of sqrt(2) instead.
Signed-off-by: Haihua Hu <b55597@freescale.com>
Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=761271
Matthew Waters [Fri, 29 Jan 2016 03:03:26 +0000 (14:03 +1100)]
glvideomixer: par may not exist in the caps
Fixes a critical in the gst-validate tests:
gst_structure_fixate_field_nearest_fraction: assertion 'gst_structure_has_field
(structure, field_name)
Matthew Waters [Fri, 29 Jan 2016 01:45:57 +0000 (12:45 +1100)]
glcontext: back out unintended lost_context changes
Matthew Waters [Thu, 28 Jan 2016 05:39:07 +0000 (16:39 +1100)]
egl: implement selecting opengl3 contexts
Matthew Waters [Thu, 28 Jan 2016 03:31:33 +0000 (14:31 +1100)]
gl/egl: pass the error value to get_error_string()
Aurélien Zanelli [Thu, 28 Jan 2016 17:20:44 +0000 (18:20 +0100)]
videoparse: initialize update_size to FALSE when updating info
Otherwise, behavior will be undefined when no strides/offsets are set
and it will likely go wrong.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Nicolas Dufresne [Thu, 28 Jan 2016 16:56:36 +0000 (11:56 -0500)]
videoparse: Fix framesize calculation
When the framesize is not specified, we try and calculate a size from
the strides and offset information. This was done with the sum of
offsets + the size of the last frame. That is just wrong method. We also
need to account for video meta that may be flipping two planes. An
example is if you convert I420 to YV12 by flipping the two last offsets.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Sebastian Dröge [Thu, 28 Jan 2016 18:36:47 +0000 (19:36 +0100)]
gdpdepay: Add ts-offset property to adjust buffer timestamps
Jan Schmidt [Thu, 28 Jan 2016 17:50:42 +0000 (04:50 +1100)]
pkg-config: Don't generate and install pkg-config with relative paths
Don't put relative paths in pkg-config files, including uninstalled
ones. For those, use @abs_topbuilddir@ and @abs_topsrcdir@ as we
do elsewhere.
Remove libraries= directives, which doesn't seem to be a pkg-config
variable that actually exists, but has been in all our pkg-config
files for as long as they've existed.
Sebastian Dröge [Thu, 28 Jan 2016 15:49:53 +0000 (16:49 +0100)]
mxfmpeg: Write the correct essence container UL for all codecs
Sebastian Dröge [Thu, 28 Jan 2016 15:41:31 +0000 (16:41 +0100)]
mxfmpeg: Write version number into the picture essence coding UL
Sebastian Dröge [Thu, 28 Jan 2016 15:32:34 +0000 (16:32 +0100)]
mxfmux: Write a timecode track into the source package too
Aurélien Zanelli [Mon, 11 Jan 2016 14:47:24 +0000 (15:47 +0100)]
videoparse: use decide_allocation to check if downstream supports videometa
If yes, we add them to each output buffers and we avoid frame copy.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Mon, 11 Jan 2016 14:46:16 +0000 (15:46 +0100)]
rawparse: add 'decide_allocation' vfunc to let subclass parse an allocation query
And so send an allocation query. This could be used to check whether
downstream element supports some metas or not.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Fri, 8 Jan 2016 16:17:01 +0000 (17:17 +0100)]
rawparse: use size of buffer we got from adapter
Otherwise position in stream could be wrong if subclass 'pre_push_frame'
method changes the buffer size.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Thu, 7 Jan 2016 13:27:27 +0000 (14:27 +0100)]
videoparse: add properties to set framesize, strides and planes offsets
To make parser work with image having non-standard strides, plane
offsets or with padding between images.
For now, since element doesn't check for videometa, we can't directly
push buffers when these properties are set so it convert the frame
in the pre_push_buffer method to remove any custom padding.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Fri, 8 Jan 2016 14:21:28 +0000 (15:21 +0100)]
rawparse: rename 'set_buffer_flags' vfunc to 'pre_push_buffer'
to allow subclass to change other fields of the buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Aurélien Zanelli [Thu, 7 Jan 2016 13:18:08 +0000 (14:18 +0100)]
videoparse: cache video info in instance
To avoid initializing and filling video info each time we need it.
https://bugzilla.gnome.org/show_bug.cgi?id=760270
Sebastian Dröge [Thu, 28 Jan 2016 14:38:45 +0000 (15:38 +0100)]
mxfmux: Write This Generation UID into the Identification metadata
It's required according to the standard and we forgot to actually write it to
the file although we stored it in the data structures.
Sebastian Dröge [Thu, 28 Jan 2016 14:29:01 +0000 (15:29 +0100)]
mxfmetadata: Add workaround for ffmpeg only writing one Video Line Map value
https://ffmpeg.org/pipermail/ffmpeg-devel/2016-January/188202.html
Matthew Waters [Wed, 14 Oct 2015 10:13:57 +0000 (21:13 +1100)]
videoaggregator: don't do caps processing that is not overridable
Allows the subclass to completely override the chosen src caps.
This is needed as videoaggregator generally has no idea exactly
what operation is being performed.
- Adds a fixate_caps vfunc for fixation
- Merges gst_video_aggregator_update_converters() into
gst_videoaggregator_update_src_caps() as we need some of its info
for proper caps handling.
- Pass the downstream caps to the update_caps vfunc
https://bugzilla.gnome.org/show_bug.cgi?id=756207
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!