platform/upstream/gst-plugins-bad.git
8 years agovkimagememory: don't leak GstMapInfo in failure cases on _map()
Matthew Waters [Wed, 2 Dec 2015 06:14:49 +0000 (17:14 +1100)]
vkimagememory: don't leak GstMapInfo in failure cases on _map()

8 years agovulkan: de-C99 struct declarations
Matthew Waters [Wed, 2 Dec 2015 06:10:39 +0000 (17:10 +1100)]
vulkan: de-C99 struct declarations

8 years agovkwindow/swapper: implement redraw handling
Matthew Waters [Tue, 1 Dec 2015 07:37:34 +0000 (18:37 +1100)]
vkwindow/swapper: implement redraw handling

only xcb has been implemented

8 years agovulkan: implement quitting and resizing the window
Matthew Waters [Tue, 1 Dec 2015 05:28:28 +0000 (16:28 +1100)]
vulkan: implement quitting and resizing the window

As before, only xcb has been implemented.

8 years agonew vulkan based video sink
Matthew Waters [Sat, 24 Oct 2015 06:29:05 +0000 (17:29 +1100)]
new vulkan based video sink

Currently xcb is the only winsys that is implemented and there's no redraws et
al

8 years agotests: remove test files no longer needed
Tim-Philipp Müller [Tue, 16 Feb 2016 12:38:21 +0000 (12:38 +0000)]
tests: remove test files no longer needed

8 years agompg123: move plugin from -bad to -ugly
Tim-Philipp Müller [Tue, 16 Feb 2016 10:44:33 +0000 (10:44 +0000)]
mpg123: move plugin from -bad to -ugly

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

8 years agogtk(gl)sink: remove the signal handlers on finalize
Matthew Waters [Tue, 16 Feb 2016 08:59:13 +0000 (19:59 +1100)]
gtk(gl)sink: remove the signal handlers on finalize

It's possible that the sink element will be freed before the widget is
destroyed.  When the widget was eventually destroyed, it was attempting to
access member variables of the freed sink struct which resulted in undefined
behaviour.

Fix by disconnecting our signal on finalize.

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

8 years agogl: Remove leftover g_prints
Sebastian Dröge [Tue, 16 Feb 2016 06:48:23 +0000 (08:48 +0200)]
gl: Remove leftover g_prints

One was commented out, but we also don't use // comments :)

8 years agogldebug: use the correct spelling for behavior
Matthew Waters [Tue, 16 Feb 2016 03:41:37 +0000 (14:41 +1100)]
gldebug: use the correct spelling for behavior

The headers use the american spelling of behavior not the UK/AUS version with
the extra U.

8 years agoglcontext: don't enable GL debug for messages that won't be logged
Matthew Waters [Tue, 16 Feb 2016 02:58:42 +0000 (13:58 +1100)]
glcontext: don't enable GL debug for messages that won't be logged

This is an optimization to avoid pointless string processing.

8 years agoglvideoflip: don't ignore method changes when caps aren't set (yet)
Alessandro Decina [Tue, 16 Feb 2016 02:01:20 +0000 (13:01 +1100)]
glvideoflip: don't ignore method changes when caps aren't set (yet)

8 years agortp: move RTP H.265 payloader/depayloader to -good
Tim-Philipp Müller [Tue, 16 Feb 2016 00:33:50 +0000 (00:33 +0000)]
rtp: move RTP H.265 payloader/depayloader to -good

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

8 years agonetsim: Add netsim element
Stian Selnes [Wed, 7 Oct 2015 21:49:58 +0000 (23:49 +0200)]
netsim: Add netsim element

Resurrected from the Farstream repository and given an
overhaul to fix races, deadlocks etc.

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

8 years agodashdemux: gst_dash_demux_get_live_seek_range returns positive values
Florin Apostol [Fri, 20 Nov 2015 19:38:03 +0000 (19:38 +0000)]
dashdemux: gst_dash_demux_get_live_seek_range returns positive values

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

8 years agogl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way
Tim-Philipp Müller [Wed, 10 Feb 2016 10:31:19 +0000 (10:31 +0000)]
gl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way

8 years agogstglshader: cache uniform locations
Alessandro Decina [Wed, 10 Feb 2016 05:37:22 +0000 (16:37 +1100)]
gstglshader: cache uniform locations

Avoid redundant calls to glGetUniformLocation. The results can be cached once
the shader has been linked.

8 years agoapplemedia: videotesturecache: let CVOpenGLESTextureCache flush every 1s
Alessandro Decina [Wed, 10 Feb 2016 04:40:02 +0000 (15:40 +1100)]
applemedia: videotesturecache: let CVOpenGLESTextureCache flush every 1s

Leave kCVOpenGLESTextureCacheMaximumTextureAgeKey to the default (1s). We used
to set it to 0 and flush manually, but apparently (looking at the GLES profiler)
0 means "disable the cache entirely".

8 years agogstglcontext: micro optimization to gst_gl_context_thread_add
Alessandro Decina [Wed, 10 Feb 2016 02:08:43 +0000 (13:08 +1100)]
gstglcontext: micro optimization to gst_gl_context_thread_add

Invoke the callback right away when called on the context thread. Removes
overhead when nesting libgstgl calls (for example when working with the sync
meta).

8 years agortpmsink: Implement setcaps that uses streamheader
Julien MOUTTE [Wed, 6 Jan 2016 21:39:00 +0000 (21:39 +0000)]
rtpmsink: Implement setcaps that uses streamheader

This allow adding rtmpsink after the flv streaming have started. Otherwise,
FLV streamheader is never sent to the server, which cannot figure-out
what is this stream about. It should also help in certain renegotiation
figures. The sink will no longer work without an streamheader in caps,
though there is no known implementation of flvdemux that does not
support this.

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

8 years agomssdemux: remove unnecessary check
Luis de Bethencourt [Tue, 9 Feb 2016 21:35:19 +0000 (21:35 +0000)]
mssdemux: remove unnecessary check

stream->current_fragment has the value of g_list_previous (iter) which has
just been checked. No need to check it again.

Just to be safe, use a g_assert() to check fragment before dereferencing.

CID #1352041

8 years agodashdemux: plug mpd client leak
Thiago Santos [Tue, 9 Feb 2016 20:24:50 +0000 (17:24 -0300)]
dashdemux: plug mpd client leak

On parsing error, free the mpd client object

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

8 years agodashdemux: fix memory leak in gst_dash_demux_update_manifest_data
Florin Apostol [Mon, 4 Jan 2016 12:12:45 +0000 (12:12 +0000)]
dashdemux: fix memory leak in gst_dash_demux_update_manifest_data

new_client local variable was not freed in case of errors.
Also, the buffer is not unmapped.

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

8 years agompdparser: renamed gst_mpd_client_get_next_segment_availability_end_time to gst_mpd_c...
Florin Apostol [Tue, 10 Nov 2015 22:01:38 +0000 (22:01 +0000)]
mpdparser: renamed gst_mpd_client_get_next_segment_availability_end_time to gst_mpd_client_get_next_segment_availability_start_time

The function actually returns the segment availability start time (as defined by the standard).
That is at the end of the segment, but it is called availability start time.

Availability end time is something else (the time when the segment is no longer
available on the server). The function name was misleading.

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

8 years agompdparser: corrected getting segment availability
Florin Apostol [Tue, 10 Nov 2015 22:00:58 +0000 (22:00 +0000)]
mpdparser: corrected getting segment availability

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

8 years agompdparser: tests: added unit test for getting segment availability when segment timel...
Florin Apostol [Thu, 19 Nov 2015 15:30:34 +0000 (15:30 +0000)]
mpdparser: tests: added unit test for getting segment availability when segment timeline is used

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

8 years agoadaptive_demux: tests: improved validation of pads
Florin Apostol [Thu, 7 Jan 2016 12:50:06 +0000 (12:50 +0000)]
adaptive_demux: tests: improved validation of pads

When removing a pad, the on_demuxPadRemoved function must find a stream
for that pad.

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

8 years agoadaptive_demux: tests: fix pad used for AppSink event
Florin Apostol [Thu, 7 Jan 2016 12:48:12 +0000 (12:48 +0000)]
adaptive_demux: tests: fix pad used for AppSink event

on_demuxNewPad registered the on_appsink_event callback on a wrong pad.

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

8 years agoadaptivedemux: tests: remove unused demux_sent_eos callback
Florin Apostol [Fri, 8 Jan 2016 16:25:12 +0000 (16:25 +0000)]
adaptivedemux: tests: remove unused demux_sent_eos callback

The demux_sent_eos callback is unused in tests. It was also registered on
a wrong pad, so it actually triggered when demux received eos from a
fragment download.

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

8 years agoadaptivedemux: tests: remove unneeded youtube xmlns from manifests
Florin Apostol [Fri, 8 Jan 2016 18:17:21 +0000 (18:17 +0000)]
adaptivedemux: tests: remove unneeded youtube xmlns from manifests

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

8 years agoapplemedia: vtdec: implement GstElement::set_context
Alessandro Decina [Tue, 9 Feb 2016 03:07:54 +0000 (14:07 +1100)]
applemedia: vtdec: implement GstElement::set_context

8 years agoapplemedia: vtdec: update copyright
Alessandro Decina [Tue, 9 Feb 2016 03:04:09 +0000 (14:04 +1100)]
applemedia: vtdec: update copyright

8 years agoapplemedia: avfvideosrc: implement GstElement::set_context
Alessandro Decina [Tue, 9 Feb 2016 02:42:48 +0000 (13:42 +1100)]
applemedia: avfvideosrc: implement GstElement::set_context

Needed to properly handle gst.gl.app_context(s).

8 years agoapplemedia: avfvideosrc: add myself to the copyright holders
Alessandro Decina [Tue, 9 Feb 2016 02:39:18 +0000 (13:39 +1100)]
applemedia: avfvideosrc: add myself to the copyright holders

8 years agogl: update win32 .def file
Matthew Waters [Tue, 9 Feb 2016 02:56:32 +0000 (13:56 +1100)]
gl: update win32 .def file

8 years agoglsyncmeta: add compatibility definition for GL_TIMEOUT_IGNORED
Matthew Waters [Tue, 9 Feb 2016 02:08:21 +0000 (13:08 +1100)]
glsyncmeta: add compatibility definition for GL_TIMEOUT_IGNORED

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.