platform/upstream/gstreamer.git
8 years agomssdemux: do not assert on fragment reloads for non-live
Thiago Santos [Tue, 2 Feb 2016 12:52:17 +0000 (09:52 -0300)]
mssdemux: do not assert on fragment reloads for non-live

It can be used as a resource to verify if the server has updated
something in the Manifest when downloads are failing

8 years agotests: dashdemux: add tests for snap flags seeking
Thiago Santos [Wed, 27 Jan 2016 13:48:53 +0000 (10:48 -0300)]
tests: dashdemux: add tests for snap flags seeking

Similar to HLS but DASH has the extra issue that it can have
multiple streams so snapping can be tricky as streams usually
won't be aligned.

For now, those tests handle the case of only having a single
stream.

https://bugzilla.gnome.org/show_bug.cgi?id=759158

8 years agodashdemux: implement snap seek handling
Thiago Santos [Mon, 1 Feb 2016 13:49:23 +0000 (10:49 -0300)]
dashdemux: implement snap seek handling

Handle snap seeking at the stream_seek method and let superclass
do the rest to support snap seeking

https://bugzilla.gnome.org/show_bug.cgi?id=759158

8 years agoadaptivedemux: handle snap seeks
Thiago Santos [Wed, 27 Jan 2016 16:31:10 +0000 (13:31 -0300)]
adaptivedemux: handle snap seeks

Adaptive demuxers need to start downloading from specific positions
(fragments) for every stream, this means that all streams can snap-seek
to a different position when requested. Snap seeking in this case will
be done in 2 steps:

1) do the snap seeking on the pad that received the seek event and
   get the final position

2) use this position to do a regular seek on the other streams to
   make sure they all start from the same position

More arguments were added to the stream_seek function, allowing better control
of how seeking is done. Knowing the flags and the playback direction allows
subclasses to handle snap-seeking.
And also adds a new return parameter to inform of the final
selected seeking position that is used to align the other streams.

https://bugzilla.gnome.org/show_bug.cgi?id=759158

8 years agoadaptivedemux: add utility function to get stream from pad
Thiago Santos [Wed, 27 Jan 2016 02:43:24 +0000 (23:43 -0300)]
adaptivedemux: add utility function to get stream from pad

Simplifies the code a bit and avoid repeating this
common operation

8 years agoh264parse: remove unused mview_mode value
Luis de Bethencourt [Thu, 4 Feb 2016 12:50:43 +0000 (12:50 +0000)]
h264parse: remove unused mview_mode value

Since commit b77f8e172a3f0be6be5cb4a72e654253404e694f the new value
assigned to mview_mode hasn't been used. That commit changed the following
"if" check to an "else if", which means the original value of mview_mode
is used.

8 years agoglquery: remove unnecessary pointer check
Luis de Bethencourt [Thu, 4 Feb 2016 12:17:31 +0000 (12:17 +0000)]
glquery: remove unnecessary pointer check

All uses of query->context in gstglquery.c assume it exists. We can assume
this as well before unrefing it. Furthermore, gst_object_unref() will just
silently return if it ever were to not exist.

8 years agoh265parse: avoid sending unnecessary downstream caps queries/events
Matthew Waters [Thu, 4 Feb 2016 07:15:56 +0000 (18:15 +1100)]
h265parse: avoid sending unnecessary downstream caps queries/events

h265 versions of the following commits:
f352691a04896d0de3381fe8ee85ada948bd6337
try the current caps before querying downstream
72bc7d7f736a10117fedb8e1d4013a4946cfefbc
increase caps equality check for no codec_data

https://bugzilla.gnome.org/show_bug.cgi?id=761014

8 years agoh264parse: increase caps equality check for no codec_data
Matthew Waters [Thu, 4 Feb 2016 05:36:28 +0000 (16:36 +1100)]
h264parse: increase caps equality check for no codec_data

When converting from avc to byte-stream, there will not be any codec_data
in the src caps.  Remove it before the equality check to avoid sending caps
events downstream on every SPS/PPS change.

https://bugzilla.gnome.org/show_bug.cgi?id=761014

8 years agoh264parse: try the current caps before querying downstream
Matthew Waters [Thu, 4 Feb 2016 04:34:04 +0000 (15:34 +1100)]
h264parse: try the current caps before querying downstream

If we have a stream that contains an unchanging SPS/PPS for every video frame,
we don't need to to constantly query downstream for it's supported caps if the
current caps are compatible with the negotiated caps.

https://bugzilla.gnome.org/show_bug.cgi?id=761014

8 years agoglbasefilter: enable qos by default
Matthew Waters [Thu, 4 Feb 2016 06:31:03 +0000 (17:31 +1100)]
glbasefilter: enable qos by default

Improves the responsiveness of the pipeline when resources are close/above the
limitations of the hardware.

Any subclass that wishes not to enable qos can do so themselves.

https://bugzilla.gnome.org/show_bug.cgi?id=761519

8 years agoamcvideodec: pass the correct time value to wait_for_sync
Matthew Waters [Thu, 4 Feb 2016 04:11:15 +0000 (15:11 +1100)]
amcvideodec: pass the correct time value to wait_for_sync

When we are not waiting, we need to pass -1 to signal that we just want to check
that the frame was/n't rendered.  Avoids waiting for frames that will never be
rendered.

https://bugzilla.gnome.org/show_bug.cgi?id=761014

8 years agoamcvideodec: advance the ready counter ourselves when render=FALSE
Matthew Waters [Thu, 4 Feb 2016 04:07:44 +0000 (15:07 +1100)]
amcvideodec: advance the ready counter ourselves when render=FALSE

When not rendering the video frame, e.g. when freeing an unreleased sync frame,
we will not receive a frame listener callback.

Reduces the amount of 'on_frame_available miss detected' messages when dropping
frames.

https://bugzilla.gnome.org/show_bug.cgi?id=761014

8 years agodecklinkaudiosrc: Fix discont tracking
Jan Schmidt [Thu, 4 Feb 2016 03:25:12 +0000 (14:25 +1100)]
decklinkaudiosrc: Fix discont tracking

Don't reset the marker that's tracking disconts until
either the discont disappears or we resync.

8 years agoRemove ancient and dead cdrom control plugin
Tim-Philipp Müller [Wed, 3 Feb 2016 21:22:28 +0000 (21:22 +0000)]
Remove ancient and dead cdrom control plugin

This was never even ported to 0.10, and I don't think
it's particularly useful, since it's just a control
interface really. Let's remove it.

8 years agodocs: remove some leftover 'Since 0.10.x' markers
Tim-Philipp Müller [Wed, 3 Feb 2016 21:16:18 +0000 (21:16 +0000)]
docs: remove some leftover 'Since 0.10.x' markers

8 years agodebugutils: use generic marshaller
Tim-Philipp Müller [Wed, 3 Feb 2016 21:13:58 +0000 (21:13 +0000)]
debugutils: use generic marshaller

8 years agoopus: fix FEC
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).

8 years agogltransformation: reconfigure the src when changing to/from passthrough
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.

8 years agoglvideoflip: correctly update the output caps on method changes
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.

8 years agotinyalsasink: fix tinalsa typo
Reynaldo H. Verdejo Pinochet [Tue, 2 Feb 2016 19:20:17 +0000 (11:20 -0800)]
tinyalsasink: fix tinalsa typo

8 years agotinyalsasink: fix sample launch line
Reynaldo H. Verdejo Pinochet [Tue, 2 Feb 2016 19:06:52 +0000 (11:06 -0800)]
tinyalsasink: fix sample launch line

8 years agolibs: player: use configured GST_PKG_CONFIG_PATH when invoking the introspection...
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

8 years agoopusdec: fix wrong buffer being checked for missing data
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

8 years agotinyalsasink: Use int type if we support a single rate/channel count
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.

8 years agoRevert "gl/eagl: try getting a gles3 context"
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.

8 years agoglcolorconvert: don't skip subset structures
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

8 years agoglbasefilter: always call gl_start when not called already
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.

8 years agoglcolorconvert: fix RGB,rectangle->planar YUV conversion
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.

8 years agoglcolorconvert: fix YUY2/UYVY,rectangle->RGB conversion
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.

8 years agotinyalsa: Add a new sink plugin using tinyalsa
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

8 years agoglcolorconvert: perform better negotiation
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.

8 years agotests: dashdemux: add test for updating stop position
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

8 years agodashdemux: only update current reading position when needed
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.

8 years agodashdemux: respect seeking parameter
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

8 years agotests: dash: fix dash tests after index fix
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.

8 years agogstglwindow: initialize navigation_loop to NULL
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)

8 years agogl: eagl: fix build
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

8 years agogldownload: allow video/x-raw as input
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.

8 years agogl/eagl: try getting a gles3 context
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

8 years agoglvideomixer: fix checker vbo leak
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

8 years agotests: fix warning in qml example
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

8 years agoqt: Fix build for android
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

8 years agoRemove dead snapshot plugin
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.

8 years agorsvg: bump requirement to 2.36.2
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.

8 years agoRemove dead libfame plugin
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.

8 years agoRemove dead audiofile plugin
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.

8 years agoRemove gsettings plugin which was never ported
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.

8 years agosmoothstreaming: remove unused dependency on uridownloader
Tim-Philipp Müller [Sun, 31 Jan 2016 16:02:33 +0000 (16:02 +0000)]
smoothstreaming: remove unused dependency on uridownloader

8 years agofaad: simplify configure check and require faad >= 2.7
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.

8 years agodvbsrc: drop unnecessary use of _stdint.h
Tim-Philipp Müller [Sat, 30 Jan 2016 17:31:41 +0000 (17:31 +0000)]
dvbsrc: drop unnecessary use of _stdint.h

8 years agomxftypes: Generate UUIDs according to RFC4122 version 4 (aka random)
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.

8 years agomxfmetadata: Properly write video line map data as an array of 32 bit integers
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

8 years agomxfmetadata: DMSchemes in the Preface is a required field
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.

8 years agomxful: Fix Content Storage UL
Sebastian Dröge [Fri, 29 Jan 2016 17:41:52 +0000 (18:41 +0100)]
mxful: Fix Content Storage UL

8 years agomxfmetadata: Best effort values must be written and if unset must contain the disting...
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.

8 years agomxful: Add missing OperationalPattern UL, which fixes an off-by-one with the others
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

8 years agomxfmux: Our body partition is always complete and closed
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.

8 years agomxfmux: Use IndexSID of 2 instead of 1
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.

8 years agomxfmux: Rewrite body partition pack on EOS and mark it as complete/closed
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

8 years agoamcvideodec: guard against not finding a valid frame in loop
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

8 years agoamcvideodec: set our data pointer in java to NULL on close
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

8 years agoapplemedia: refactor GL context code
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).

8 years agoglprototypes: fix parameter type of glGenBuffers
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

8 years agogleffects: fix gleffects fisheye shader compile error
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

8 years agoglvideomixer: par may not exist in the caps
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)

8 years agoglcontext: back out unintended lost_context changes
Matthew Waters [Fri, 29 Jan 2016 01:45:57 +0000 (12:45 +1100)]
glcontext: back out unintended lost_context changes

8 years agoegl: implement selecting opengl3 contexts
Matthew Waters [Thu, 28 Jan 2016 05:39:07 +0000 (16:39 +1100)]
egl: implement selecting opengl3 contexts

8 years agogl/egl: pass the error value to get_error_string()
Matthew Waters [Thu, 28 Jan 2016 03:31:33 +0000 (14:31 +1100)]
gl/egl: pass the error value to get_error_string()

8 years agovideoparse: initialize update_size to FALSE when updating info
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

8 years agovideoparse: Fix framesize calculation
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

8 years agogdpdepay: Add ts-offset property to adjust buffer timestamps
Sebastian Dröge [Thu, 28 Jan 2016 18:36:47 +0000 (19:36 +0100)]
gdpdepay: Add ts-offset property to adjust buffer timestamps

8 years agopkg-config: Don't generate and install pkg-config with relative paths
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.

8 years agomxfmpeg: Write the correct essence container UL for all codecs
Sebastian Dröge [Thu, 28 Jan 2016 15:49:53 +0000 (16:49 +0100)]
mxfmpeg: Write the correct essence container UL for all codecs

8 years agomxfmpeg: Write version number into the picture essence coding UL
Sebastian Dröge [Thu, 28 Jan 2016 15:41:31 +0000 (16:41 +0100)]
mxfmpeg: Write version number into the picture essence coding UL

8 years agomxfmux: Write a timecode track into the source package too
Sebastian Dröge [Thu, 28 Jan 2016 15:32:34 +0000 (16:32 +0100)]
mxfmux: Write a timecode track into the source package too

8 years agovideoparse: use decide_allocation to check if downstream supports videometa
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

8 years agorawparse: add 'decide_allocation' vfunc to let subclass parse an allocation query
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

8 years agorawparse: use size of buffer we got from adapter
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

8 years agovideoparse: add properties to set framesize, strides and planes offsets
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

8 years agorawparse: rename 'set_buffer_flags' vfunc to 'pre_push_buffer'
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

8 years agovideoparse: cache video info in instance
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

8 years agomxfmux: Write This Generation UID into the Identification metadata
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.

8 years agomxfmetadata: Add workaround for ffmpeg only writing one Video Line Map value
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

8 years agovideoaggregator: don't do caps processing that is not overridable
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

8 years agoglcolorbalance: return HARDWARE from get_balance_type
Matthew Waters [Wed, 27 Jan 2016 09:23:21 +0000 (20:23 +1100)]
glcolorbalance: return HARDWARE from get_balance_type

8 years agoglsinkbin: add glcolorbalance element
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.

8 years agogl: move control binding proxy implementation from glvideomixer
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

8 years agoglcolorbalance: create the shader if it doesn't exist in the render callback
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.

8 years agoqt: specify that we currently only take 2D textures
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.

8 years agoglvideoflip: incorporate the aspect ratio into the scale_x calculations
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.

8 years agoapplemedia: avfvideosrc: actually set the configured framerate
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.

8 years agoopencv: add mask property to cvlaplace
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.

8 years agoopencv: add mask property to cvsobel
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.

8 years agoopencv: update deprecated function in skindetect
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.

8 years agoopencv: fix cvlaplace
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.

8 years agoh265parse: Fix buffer leak when sps is not present
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

8 years agoh265parse: Fix buffer memory leak.
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

8 years agoopencv: fix cvsobel
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.

8 years agopkg-config: Properly version and install base/audio/video .pc files
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