platform/upstream/gstreamer.git
8 years agoglsyncmeta: separate out gpu/cpu waits.
Matthew Waters [Tue, 9 Feb 2016 01:14:04 +0000 (12:14 +1100)]
glsyncmeta: separate out gpu/cpu waits.

CPU waits are more expensive and are only required if the CPU is ever going to
access the data. GPU waits perform inter-context synchronisation and are cheaper
as they don't require CPU intervention.

8 years agoadaptivedemux: remove overwritten value
Luis de Bethencourt [Mon, 8 Feb 2016 23:17:34 +0000 (23:17 +0000)]
adaptivedemux: remove overwritten value

ret is overwitten before used with the return of the subclass seek.

CID #1352044

8 years agoresindvd: remove commented out include
Luis de Bethencourt [Mon, 8 Feb 2016 15:00:35 +0000 (15:00 +0000)]
resindvd: remove commented out include

Commit 211828979b8c10abf3c74d964bc698dbda4d497d removed rsnaudiomunge,
no need for this commented out include for a file that doesn't exist
anymore.

8 years agoRevert "resindvd: get rid of _stdint.h include"
Luis de Bethencourt [Mon, 8 Feb 2016 14:26:46 +0000 (14:26 +0000)]
Revert "resindvd: get rid of _stdint.h include"

This reverts commit 0eff6e1991cb24cb65f07c481742782acaa8ec62.

Breaks the build when linking with dvdnav.h

8 years agox265enc: get rid of _stdint.h include
Luis de Bethencourt [Mon, 8 Feb 2016 13:43:22 +0000 (13:43 +0000)]
x265enc: get rid of _stdint.h include

It was never needed since it doesn't use any standard integer fixed width
types. Only the Glib types.

8 years agoresindvd: get rid of _stdint.h include
Luis de Bethencourt [Mon, 8 Feb 2016 13:32:46 +0000 (13:32 +0000)]
resindvd: get rid of _stdint.h include

8 years agopo: update POTFILES
Piotr Drąg [Mon, 8 Feb 2016 11:44:53 +0000 (12:44 +0100)]
po: update POTFILES

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

8 years agogleffects: identity: add the shader to the hash table
Matthew Waters [Mon, 8 Feb 2016 01:23:12 +0000 (12:23 +1100)]
gleffects: identity: add the shader to the hash table

So that we don't recreate it every frame and leak memory.

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

8 years agotests: extend the AM_TESTS_ENVIRONMENT from check.mak
Thiago Santos [Fri, 5 Feb 2016 23:02:22 +0000 (20:02 -0300)]
tests: extend the AM_TESTS_ENVIRONMENT from check.mak

To get the CK_DEFAULT_TIMEOUT defined for all tests

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

8 years agoAutomatic update of common submodule
Thiago Santos [Fri, 5 Feb 2016 21:06:32 +0000 (18:06 -0300)]
Automatic update of common submodule

From e97c9bb to b64f03f

8 years agogstrtph265depay: keep consistency with rtph264depay
Luis de Bethencourt [Fri, 5 Feb 2016 15:34:51 +0000 (15:34 +0000)]
gstrtph265depay: keep consistency with rtph264depay

Use gst_rtp_drop_meta() and the same function prototype for
gst_rtp_copy_meta() to keep consistency with the RTP elements in
gst-plugins-good

8 years agotinyalsasink: Use glib CLAMP() instead of our own macro
Arun Raghavan [Fri, 5 Feb 2016 16:03:38 +0000 (21:33 +0530)]
tinyalsasink: Use glib CLAMP() instead of our own macro

8 years agortph265depay: fix termination of access unit
Luis de Bethencourt [Fri, 5 Feb 2016 13:56:34 +0000 (13:56 +0000)]
rtph265depay: fix termination of access unit

Only consider the access unit complete when the next-occurring VCL NAL unit
has the first bit after its NAL unit header equal to 1.

8 years agoadaptivedemux: Update position in stream->segment for new stream segment message.
David Waring [Tue, 2 Feb 2016 13:50:25 +0000 (13:50 +0000)]
adaptivedemux: Update position in stream->segment for new stream segment message.

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

8 years agotinyalsasink: Limit period size and count to what the h/w permits
Arun Raghavan [Fri, 5 Feb 2016 10:13:22 +0000 (15:43 +0530)]
tinyalsasink: Limit period size and count to what the h/w permits

8 years agogl: add .def file for msvc builds
Matthew Waters [Thu, 4 Feb 2016 23:43:49 +0000 (10:43 +1100)]
gl: add .def file for msvc builds

Also internalize some API from being exported.

8 years agotests: mssdemux: add unit tests
Thiago Santos [Tue, 2 Feb 2016 20:02:41 +0000 (17:02 -0300)]
tests: mssdemux: add unit tests

Adds unit tests similar to the ones that we have for DASH and HLS.

Tests:

* manifest parsing finishes successfully
* some queries (duration, seekable, latency)
* seeking with various values and flags

8 years agomssdemux: implement snap seeking
Thiago Santos [Tue, 2 Feb 2016 19:54:10 +0000 (16:54 -0300)]
mssdemux: implement snap seeking

Implement snap seek flags handling in stream_seek to allow the
parent class to handle it for us

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

8 years agomssdemux: use correct seek position on reverse seeks
Thiago Santos [Tue, 2 Feb 2016 19:51:22 +0000 (16:51 -0300)]
mssdemux: use correct seek position on reverse seeks

Otherwise it was always using the 'start' value, leading to wrong
behavior

8 years agomssdemux: only update download position if the seek requests to
Thiago Santos [Tue, 2 Feb 2016 14:30:31 +0000 (11:30 -0300)]
mssdemux: only update download position if the seek requests to

Some seeks are only updating the stop position, there is no need
to change the current downloading position.

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