platform/upstream/gstreamer.git
8 years ago.gitignore: remove non-existent directory
Matthew Waters [Sun, 15 May 2016 09:31:38 +0000 (12:31 +0300)]
.gitignore: remove non-existent directory

Partially reverts cdf91c455d4057a9d234766510bd2e8a44e1ed05

8 years agompegdemux: Handle system header when scanning for timestamps.
Jan Schmidt [Sun, 15 May 2016 09:05:48 +0000 (19:05 +1000)]
mpegdemux: Handle system header when scanning for timestamps.

When scanning for SCR / PTS / DTS, handle the case where
the pack header is followed by the optional system header,
so we can correctly collect timestamps in such cases.

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

8 years agompegdemux: Fix backward timestamp scan on small files.
Jan Schmidt [Sun, 15 May 2016 09:04:20 +0000 (19:04 +1000)]
mpegdemux: Fix backward timestamp scan on small files.

When the file size is smaller than the configured 4MB scan
limit for timestamps, don't underflow the guard variable
when checking if it's time to stop.

Limit the backward SCR scan to the same 4MB as the PTS scan.

Add some comments.

8 years agompegdemux: don't do bogus adjustments on seek if we have no first_pts
Tim-Philipp Müller [Fri, 13 May 2016 12:27:37 +0000 (13:27 +0100)]
mpegdemux: don't do bogus adjustments on seek if we have no first_pts

Fixes bogus segment and gap events with start=GST_CLOCK_TIME_NONE if
we failed to find a first_pts.

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

8 years agoconfigure: check for shm_open() in OpenBSD
Alex-P. Natsios [Sat, 14 May 2016 13:59:14 +0000 (16:59 +0300)]
configure: check for shm_open() in OpenBSD

In OpenBSD there is no "actual" librt that programs can link with,
instead the system/base libc provides the functions one would
customarily find there.

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

8 years agogltransformation: use the affine transformation meta if available downstream
Matthew Waters [Sat, 14 May 2016 13:32:06 +0000 (16:32 +0300)]
gltransformation: use the affine transformation meta if available downstream

We can avoid a render pass if downstream supports the affine transformation meta
and increase the performance of some pipelines involving gltransformation.

Implemented by checking for the affine transformation in the allocation query
from downstream and combining our matrix with that of upstream's (or creating
our own).

8 years agogl: take the affine transformation in NDC
Matthew Waters [Sat, 14 May 2016 13:27:26 +0000 (16:27 +0300)]
gl: take the affine transformation in NDC

Provide a function to get the affine matrix in the meta in terms of NDC
coordinates and use as a standard opengl matrix.

Also advertise support for the affine transformation meta in the allocation
query.

8 years agoglbasemixer: actually attempt to propose an allocation upstream
Matthew Waters [Sat, 14 May 2016 12:50:57 +0000 (15:50 +0300)]
glbasemixer: actually attempt to propose an allocation upstream

We were always failing the allocation query as a flag was never being set to
signal a successful negotiation.  Fix by setting the required flag on a
successful caps event from upstream.

8 years agolv2: add a source plugin
Stefan Sauer [Thu, 12 May 2016 17:52:06 +0000 (10:52 -0700)]
lv2: add a source plugin

Update the readme with a working example and list what feature are supported.

8 years agolv2: add support for host features
Stefan Sauer [Thu, 12 May 2016 06:12:07 +0000 (23:12 -0700)]
lv2: add support for host features

Implement a log handler as the first one.

8 years agovkswapper: check the error of the presentation for out of date
Matthew Waters [Fri, 13 May 2016 12:24:35 +0000 (15:24 +0300)]
vkswapper: check the error of the presentation for out of date

allows us to resize the swapchain correctly.

8 years agompegtsbase: remove unused variables: upstream_live and queried_latency
Damian Ziobro [Thu, 12 May 2016 18:44:26 +0000 (19:44 +0100)]
mpegtsbase: remove unused variables: upstream_live and queried_latency

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

8 years agodvbsrc: improve debug output from _open_frontend()
Reynaldo H. Verdejo Pinochet [Wed, 11 May 2016 22:45:47 +0000 (15:45 -0700)]
dvbsrc: improve debug output from _open_frontend()

* Clarify message on delsys info gathering
* Combine redundant INFO/DEBUG pair

8 years agodvbsrc: fix invalid dereference of delsys data
Reynaldo H. Verdejo Pinochet [Wed, 11 May 2016 22:26:24 +0000 (15:26 -0700)]
dvbsrc: fix invalid dereference of delsys data

Use GPOINTER_TO_INT to read GINT_TO_POINTER stored
data.

8 years agoamcaudiodec: Set layout=interleaved in raw audio caps
Sebastian Dröge [Wed, 11 May 2016 20:48:21 +0000 (23:48 +0300)]
amcaudiodec: Set layout=interleaved in raw audio caps

Otherwise the GAP event fallback negotiation will fail to produce complete
srcpad caps, and thus fail.

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

8 years agodecklinkvideosrc: Fix previous commit
Edward Hervey [Wed, 11 May 2016 14:42:35 +0000 (16:42 +0200)]
decklinkvideosrc: Fix previous commit

The frames queue might return nothing (be empty) if we're flushing.

Move the assertion to after the flushing check

8 years agolv2: skip plugins that need host features
Stefan Sauer [Wed, 11 May 2016 05:04:48 +0000 (22:04 -0700)]
lv2: skip plugins that need host features

We haven't implemented this yet and those plugin would fail when we instantiate
them.

8 years agolv2: add classification from metadata
Stefan Sauer [Wed, 11 May 2016 04:11:41 +0000 (21:11 -0700)]
lv2: add classification from metadata

This helps apps to structure the element collection.

8 years agolv2: extract helper code into lv2utils
Stefan Sauer [Fri, 8 Apr 2016 05:53:44 +0000 (07:53 +0200)]
lv2: extract helper code into lv2utils

This is a preparaton for adding lv2-sources and -sinks.

8 years agoladspa: code cleanup
Stefan Sauer [Tue, 10 May 2016 19:24:03 +0000 (12:24 -0700)]
ladspa: code cleanup

Whitespace cleanup and unify codeing style.

8 years agoladspa: simplify the code
Stefan Sauer [Tue, 10 May 2016 19:22:04 +0000 (12:22 -0700)]
ladspa: simplify the code

Remove a local var and just use the parameter value.

8 years agoapplemedia: fix core_video_meta init registration
Philippe Normand [Tue, 10 May 2016 16:14:36 +0000 (18:14 +0200)]
applemedia: fix core_video_meta init registration

8 years ago.gitignore: Ignore tests/examples/gl/gtk generated files
Nirbheek Chauhan [Tue, 10 May 2016 11:16:43 +0000 (16:46 +0530)]
.gitignore: Ignore tests/examples/gl/gtk generated files

And another test binary.

8 years agoopenjpeg: Port to 2.1 and require a pkg-config file for 2.0 and 2.1
Nirbheek Chauhan [Tue, 10 May 2016 10:54:08 +0000 (16:24 +0530)]
openjpeg: Port to 2.1 and require a pkg-config file for 2.0 and 2.1

The port was trivial, and according to the NEWS file nothing else has changed,
but it is possible that other API was changed without proper notification.

OpenJPEG upstream has shipped a pkg-config file for the past 4 years, and all
distros should be shipping it by now.

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

8 years agodecklinkvideosrc: fix use-after-free in error code path
Tim-Philipp Müller [Tue, 10 May 2016 08:40:38 +0000 (09:40 +0100)]
decklinkvideosrc: fix use-after-free in error code path

8 years agodecklinkvideosrc: remove unnecessary checks for non-NULL frame
Tim-Philipp Müller [Tue, 10 May 2016 08:38:28 +0000 (09:38 +0100)]
decklinkvideosrc: remove unnecessary checks for non-NULL frame

We can't get a NULL frame here.

CID 1359923

8 years agodvbsrc: abort at open frontend failure
Reynaldo H. Verdejo Pinochet [Mon, 9 May 2016 22:23:32 +0000 (15:23 -0700)]
dvbsrc: abort at open frontend failure

8 years agoapplemedia: Ship all headers in tarballs
Sebastian Dröge [Mon, 9 May 2016 09:50:47 +0000 (12:50 +0300)]
applemedia: Ship all headers in tarballs

Some were missing from noinst_HEADERS.

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

8 years agodvbsrc: smarten-up delsys autodetection logic
Reynaldo H. Verdejo Pinochet [Wed, 4 May 2016 23:32:19 +0000 (16:32 -0700)]
dvbsrc: smarten-up delsys autodetection logic

When there's no explicit delivery system information
for a channel in the channel configuration file and
the user hasn't selected one via setting the delsys
property, we *guessed* it by selecting the last
supported delsys reported by the driver. This change
provides the basis for smarter delsys auto detection
and implements a rule for DVB-T2. Rules for other
delivery systems can be added in _guess_delsys() in
a similar way.

Additionally: Store list of adapter-supported
delivery systems instead of querying the driver each
time this information is needed.

Related to:

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

8 years agodvbsrc: remove remaining polling logic from _tune_fe()
Reynaldo H. Verdejo Pinochet [Tue, 3 May 2016 22:00:55 +0000 (15:00 -0700)]
dvbsrc: remove remaining polling logic from _tune_fe()

No need to do any polling here.

8 years agouridownloader: Take the ownership of the src element
Carlos Garcia Campos [Fri, 6 May 2016 08:51:39 +0000 (10:51 +0200)]
uridownloader: Take the ownership of the src element

The URI downloader is creating the source element with
gst_element_factory_make() that returns a floating reference that nobody
is consuming. This is causing problems in WebKit, where the smart
pointers used to take references of the source elment get confused and
end up consuming the floating reference and then releasing the element,
which usually crashes because the URI downloader still tries to use its
src element. See https://bugs.webkit.org/show_bug.cgi?id=144040.
This commit adds two helper functions to ensure and destroy the source
element, to make the code simpler and less error prone. The ensure
method takes care of checking if we can reuse the existing one or we
need to create a new one, taking always its ownership. The destroy
method simply avoids duplicated code to set the source to NULL state and
then unref it.

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

8 years agoadaptivedemux: fix threading issues in gst_adaptive_demux_wait_until function
Alex Ashley [Fri, 29 Apr 2016 11:31:01 +0000 (12:31 +0100)]
adaptivedemux: fix threading issues in gst_adaptive_demux_wait_until function

The gst_adaptive_demux_wait_until() function can be woken up either
by its end_time being reached, or from other threads that want to
interrupt the waiting thread.

If the thread is interrupted, it needs to cancel its async clock callback
by unscheduling the clock callback. However, the callback task might already
have been activated, but is waiting for the mutex to become available. In this
case, the call to unschedule does not stop the callback from executing.

The solution to this second issue is to use a reference counted object that
is decremented by both the gst_adaptive_demux_wait_until() function and the
call to gst_clock_id_wait_async (). In this way, the GstAdaptiveDemuxTimer
object is only deleted when both the gst_adaptive_demux_wait_until() function
and the async callback are finished with the object.

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

8 years agoandroidmeida: replace with new surfacetexture for ahcsrc
Justin Kim [Thu, 3 Mar 2016 06:50:49 +0000 (15:50 +0900)]
androidmeida: replace with new surfacetexture for ahcsrc

GstAmcSurfaceTexture is more clear and simple than GstAGSurfaceTexture.

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

8 years agovulkan/build: add the build directory to the list of includes
Matthew Waters [Thu, 5 May 2016 13:53:05 +0000 (23:53 +1000)]
vulkan/build: add the build directory to the list of includes

Fixes out of tree builds from tarballs.

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

8 years agovkswapper: fix up display synchronization
Matthew Waters [Thu, 5 May 2016 13:18:11 +0000 (23:18 +1000)]
vkswapper: fix up display synchronization

Use the semaphores in the correct place, before and after the submission for
acquiring and presenting the swapchain buffer.

Waiting on the fence that only signals the command buffer completion rather than
the completion of the presentation is racy with the destruction of the vulkan
buffers associated with that image.  Wait on the device to be idle instead after
presenting.

8 years agovkswapper: use gst_video_sink_center_rect for positioning the video
Matthew Waters [Thu, 5 May 2016 08:00:25 +0000 (18:00 +1000)]
vkswapper: use gst_video_sink_center_rect for positioning the video

Don't try to reimplement it badly.

8 years agompegdemux: fix description
Tim-Philipp Müller [Thu, 5 May 2016 09:44:22 +0000 (10:44 +0100)]
mpegdemux: fix description

8 years agovideodiff: fix supported formats in template caps
Tim-Philipp Müller [Thu, 5 May 2016 09:41:53 +0000 (10:41 +0100)]
videodiff: fix supported formats in template caps

8 years agovideodiff: fill in FIXME metadata and docs with description
Tim-Philipp Müller [Thu, 5 May 2016 09:40:37 +0000 (10:40 +0100)]
videodiff: fill in FIXME metadata and docs with description

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

8 years agogl/egl: replace gsteglimagememory with an EGLImage wrapper
Matthew Waters [Wed, 4 May 2016 02:17:59 +0000 (12:17 +1000)]
gl/egl: replace gsteglimagememory with an EGLImage wrapper

That can be passed to GstGLMemoryEGL.

This also ports the dmabuf uploader to GstEGLImage and GstGLMemoryEGL.

8 years agogl: implement GstGLMemoryEGL
Gwang Yoon Hwang [Thu, 21 Jan 2016 13:18:17 +0000 (22:18 +0900)]
gl: implement GstGLMemoryEGL

Because current GstEGLImageMemory does not inherit GstGLMemory, GLUpload
allocates additional GLMemory and upload the decoded contents from the decoder
which uses EGLImage (e.g. gst-omx in RPi).

This work adds GstGLMemoryEGL to avoid this overhead. Decoders allocate
GstGLMemoryEGL and decode its contents to the EGLImage of GstGLMemoryEGL.  And
GLUpload uses this memory without allocation of additional textures and blit
operations.

[Matthew Waters]: gst-indent the sources and fix a critical retreiving the egl
display from the memory.

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

8 years agoglmemory: add wrapped data pointers to setup_buffer
Matthew Waters [Tue, 3 May 2016 15:16:51 +0000 (01:16 +1000)]
glmemory: add wrapped data pointers to setup_buffer

Allows creating wrapped memories with GstGLAllocationParams.

The wrapped pointers will be set in the parameters before being passed
to the memory allocation function.

8 years agoglbasememory: take a pointer as the wrapped gpu handle
Matthew Waters [Tue, 3 May 2016 14:19:44 +0000 (00:19 +1000)]
glbasememory: take a pointer as the wrapped gpu handle

Allows passing arbitrary data to wrap the the specific memory implementation
which is required for some memory implementations.

8 years agoapplemedia: vtdec: output sysmem by default
Alessandro Decina [Wed, 4 May 2016 01:30:11 +0000 (11:30 +1000)]
applemedia: vtdec: output sysmem by default

8 years agodirectsoundsrc: Convert Windows strings to UTF8 before comparing against UTF8 strings
Sebastian Dröge [Mon, 2 May 2016 08:30:43 +0000 (11:30 +0300)]
directsoundsrc: Convert Windows strings to UTF8 before comparing against UTF8 strings

The device name and descriptions returned are in the locale encoding, not
UTF8. Our device name property is in UTF8 though, so we need to convert.

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

8 years agocompositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps()
Sebastian Dröge [Tue, 3 May 2016 08:11:24 +0000 (11:11 +0300)]
compositor: Set blend functions in ::negotiated_caps() instead of ::fixate_caps()

The latter should not change any state but just fixate the caps, while the
former is always called when srcpads caps are decided.

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

8 years agodecklink: Fix swapped name and nick in GEnumValues
Vivia Nikolaidou [Wed, 20 Apr 2016 12:11:44 +0000 (15:11 +0300)]
decklink: Fix swapped name and nick in GEnumValues

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

8 years agodecklink: Add initial 10bit support for YUV modes
Vivia Nikolaidou [Thu, 14 Apr 2016 15:26:33 +0000 (18:26 +0300)]
decklink: Add initial 10bit support for YUV modes

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

8 years agodecklink: Fix indentation
Sebastian Dröge [Tue, 3 May 2016 12:52:38 +0000 (15:52 +0300)]
decklink: Fix indentation

8 years agogl: fix gles3 header usage for older platforms
Matthew Waters [Tue, 3 May 2016 09:58:00 +0000 (19:58 +1000)]
gl: fix gles3 header usage for older platforms

Some platforms provide an old version of GLES2/gl2.h and GLES2/gl2ext.h that
will fail when including GLES3/gl3.h due to missing typedef's.

Seen on the RPi.

8 years agodvbsrc: avoid possible race on _output_frontend_stats()
Reynaldo H. Verdejo Pinochet [Sat, 30 Apr 2016 06:32:03 +0000 (23:32 -0700)]
dvbsrc: avoid possible race on _output_frontend_stats()

Make sure we send out our info message before we give up ownership
of the structure.

8 years agodvbsrc: var rename in _output_frontend_params()
Reynaldo H. Verdejo Pinochet [Fri, 29 Apr 2016 21:53:06 +0000 (14:53 -0700)]
dvbsrc: var rename in _output_frontend_params()

Now it matches the rest of its status peers. Underscore
was a leftover from previous times.

8 years agodvbsrc: always output known frontend status params
Reynaldo H. Verdejo Pinochet [Fri, 29 Apr 2016 21:45:22 +0000 (14:45 -0700)]
dvbsrc: always output known frontend status params

The only mandatory frontend information for our use case
is its status. Make sure we output what we know instead
of choking at the first error getting SNR, BER or any of
the other informational parameters.

8 years agodvbsrc: refactor signal locking loop
Reynaldo H. Verdejo Pinochet [Fri, 29 Apr 2016 19:06:52 +0000 (12:06 -0700)]
dvbsrc: refactor signal locking loop

Get rid of preliminar frontend status check.

8 years agodvbsrc: drop unneeded polling step on _tune_fe()
Reynaldo H. Verdejo Pinochet [Fri, 29 Apr 2016 18:18:53 +0000 (11:18 -0700)]
dvbsrc: drop unneeded polling step on _tune_fe()

Additional waiting was not needed. Specially considering
it came after a successful READ_STATUS ioctl and was
followed by an EINTR-resilent retry.

8 years agompegtsmux: effectively check if there is a language
Thiago Santos [Fri, 29 Apr 2016 20:19:19 +0000 (17:19 -0300)]
mpegtsmux: effectively check if there is a language

'language' is an array and not a pointer.

CID 1358835

8 years agoplayer: Add required paths via pkg-config for gstreamer-base-1.0 and gstreamer-video...
Sebastian Dröge [Fri, 29 Apr 2016 10:54:01 +0000 (13:54 +0300)]
player: Add required paths via pkg-config for gstreamer-base-1.0 and gstreamer-video-1.0 for gobject-introspection

The GstBase-1.0.gir and GstVideo-1.0.gir files are required by GstPlayer.
Uninstalled builds fail if these files cannot be found.

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

8 years agogl: enable gldeinterlace on OpenGL ES
Haihua Hu [Fri, 8 Apr 2016 08:47:15 +0000 (16:47 +0800)]
gl: enable gldeinterlace on OpenGL ES

1.Porting the exist deinterlace shader and OpenGL callback
  to be compatible with OpenGL ES.
2.Add a our blur vertical shader to gldeinterlace.
3.Add a property named “method” to let user choose which
  deinterlace function to use. Default to choose blur vertical
  method for better performance.

[Matthew Waters]: fix name of greedyh in method property (was greedhy) and port
to git master.

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

8 years agoplayer: Add audio-video-offset property and setter/getter API
Barun Kumar Singh [Thu, 28 Apr 2016 09:49:17 +0000 (15:19 +0530)]
player: Add audio-video-offset property and setter/getter API

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

8 years agoglviewconvert: Port more things to GLES/GL 3 compatibility
Sebastian Dröge [Tue, 19 Apr 2016 16:43:03 +0000 (19:43 +0300)]
glviewconvert: Port more things to GLES/GL 3 compatibility

And move the shader mangling code into a single place instead of having a copy
in glcolorconvert and glviewconvert.

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

8 years agoglcolorconvert: GLES3 deprecates texture2D() and it does not work at all in newer...
Sebastian Dröge [Tue, 19 Apr 2016 16:27:33 +0000 (19:27 +0300)]
glcolorconvert: GLES3 deprecates texture2D() and it does not work at all in newer versions than 3.3

Use the newer texture() function instead. This fixes glimagesink and other
things on various Android devices.

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

8 years agompegtsmux: write language descriptor when language is available
Thiago Santos [Tue, 19 Apr 2016 13:27:43 +0000 (10:27 -0300)]
mpegtsmux: write language descriptor when language is available

Adds a new function to mpegts lib to create a iso639 language
descriptor from a language and use it in mpegtsmux to add
a language descriptor to audio streams that have a language set.

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

8 years agopvrbufferpool: fix gst_meta_register() parameters
Song Bing [Tue, 26 Apr 2016 08:48:58 +0000 (16:48 +0800)]
pvrbufferpool: fix gst_meta_register() parameters

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

8 years agoaggregator: Check all pads for data when live
Nicolas Dufresne [Fri, 22 Apr 2016 14:15:39 +0000 (10:15 -0400)]
aggregator: Check all pads for data when live

When live, we still need to inspect all pads queue in order to determin
if we have received the first buffer or not.

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

8 years agoaggregator: Fix locking when using the clock
Nicolas Dufresne [Fri, 15 Apr 2016 20:51:17 +0000 (16:51 -0400)]
aggregator: Fix locking when using the clock

This fixes a race where we check if there is a clock, then it get
removed and we endup calling gst_clock_new_single_shot_id() with a NULL
pointer instead of a valid clock and also calling gst_object_unref()
with a NULL pointer later.

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

8 years agoh265parse: H265 level idc 0 is not valid
Sebastian Dröge [Mon, 25 Apr 2016 13:50:55 +0000 (16:50 +0300)]
h265parse: H265 level idc 0 is not valid

Don't put level=0 into the caps, it confuses other elements.

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

8 years agoh264parse: H264 level idc 0 is not valid
Sebastian Dröge [Mon, 25 Apr 2016 13:50:18 +0000 (16:50 +0300)]
h264parse: H264 level idc 0 is not valid

Don't put level=0 into the caps, it confuses other elements.

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

8 years agodshowsrcwrapper: fix DirectShow caps negotiation and set capture pin caps
Jerome Laheurte [Fri, 22 Apr 2016 12:51:31 +0000 (14:51 +0200)]
dshowsrcwrapper: fix DirectShow caps negotiation and set capture pin caps

Some cameras (IDS) have broken DirectShow drivers which incorrectly fill some
fields in the VIDEOINFOHEADER structure; comparison between suggested and
supported media types in CBaseRenderer should ignore deprecated and/or not
essential fields; additionaly explicitely setting the mediatype for the capture
pin before trying to connect it works around another IDS driver bug, and
should have been already done anyway.

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

8 years agodshowsrcwrapper: add support for RGB32, RGB555, RGB565 and RGB8 color spaces
Jerome Laheurte [Fri, 22 Apr 2016 12:48:41 +0000 (14:48 +0200)]
dshowsrcwrapper: add support for RGB32, RGB555, RGB565 and RGB8 color spaces

Some cameras (IDS) only support those.

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

8 years agodshowsrcwrapper: fix include path and link error
Jerome Laheurte [Fri, 22 Apr 2016 12:44:57 +0000 (14:44 +0200)]
dshowsrcwrapper: fix include path and link error

Add include path so that the cmake-generated project
is able to find gstconfig.h

Add /SAFESEH:NO to MSVC linker options so it can link with
gstreamer libraries on Windows.

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

8 years agotests: adaptivedemux: only check for data length after seek
Thiago Santos [Fri, 22 Apr 2016 18:02:01 +0000 (15:02 -0300)]
tests: adaptivedemux: only check for data length after seek

When the test involves doing a seek, only check for data size after
the seek. The final segment range after seek might be different/smaller
than the threshold for doing the seek and doing the check before
seeking would fail.

8 years agoadaptivedemux: tests: use macro to define names of request and response structs
Florin Apostol [Tue, 16 Feb 2016 14:26:55 +0000 (14:26 +0000)]
adaptivedemux: tests: use macro to define names of request and response structs

Following the Don't Repeat Yourself principle, define macros
for the structures that contain the request and response headers,
so that the name is not repeated in multiple places in multiple files.

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

8 years agoadaptivedemux: tests: improved checks for expected data
Florin Apostol [Tue, 16 Feb 2016 14:26:42 +0000 (14:26 +0000)]
adaptivedemux: tests: improved checks for expected data

Check the size of received data for each buffer received by AppSink

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

8 years agodashdemux: tests: added content protection test
Florin Apostol [Tue, 16 Feb 2016 11:37:44 +0000 (11:37 +0000)]
dashdemux: tests: added content protection test

Test content protection
Configure 3 content protection sources:
- a uuid scheme/value pair
- a non uuid scheme/value pair (dash recognises only uuid schemes)
- a complex uuid scheme, with trailing spaces and capital letters in scheme uri
Only the uuid scheme should be recognised. We expect to receive 2 content protection events

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

8 years agodash: strip lead/trailing whitespace from descriptortype attributes
Thiago Santos [Fri, 22 Apr 2016 20:04:57 +0000 (17:04 -0300)]
dash: strip lead/trailing whitespace from descriptortype attributes

The spec says it is xs:anyURI and leading and trailing whitespace
are to be ignored

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

8 years agodashdemux: tests: added test for media download error for in stream fragment
Florin Apostol [Tue, 16 Feb 2016 14:26:05 +0000 (14:26 +0000)]
dashdemux: tests: added test for media download error for in stream fragment

Tested download error for a fragment that is not the last media fragment
in the stream.

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

8 years agodashdemux: tests: added test for download errors during header download
Florin Apostol [Tue, 16 Feb 2016 14:25:45 +0000 (14:25 +0000)]
dashdemux: tests: added test for download errors during header download

Test header download error.
Let the adaptive demux download a few bytes, then instruct the
GstTestHTTPSrc element to generate an error while the fragment header
is still being downloaded.

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

8 years agodashdemux: tests: refactor testFragmentDownloadError
Florin Apostol [Tue, 16 Feb 2016 14:25:32 +0000 (14:25 +0000)]
dashdemux: tests: refactor testFragmentDownloadError

Renamed testFragmentDownloadError to testMediaDownloadErrorLastFragment.
Added gst_adaptive_demux_test_unexpected_eos function.
Remove unneeded testFragmentDownloadErrorCheckSizeOfDataReceived.

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

8 years agodashdemux: tests: tested latency query
Florin Apostol [Tue, 16 Feb 2016 14:25:04 +0000 (14:25 +0000)]
dashdemux: tests: tested latency query

Updated query test to also check if dash responds correctly to a latency
query.

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

8 years agodashdemux: tests: moved testQuery after testFragmentDownloadError
Florin Apostol [Tue, 16 Feb 2016 14:24:49 +0000 (14:24 +0000)]
dashdemux: tests: moved testQuery after testFragmentDownloadError

Moved testQuery after testFragmentDownloadError so that testDownloadError
and testFragmentDownloadError are grouped together.

The commit just moved the testQueryCheckDataReceived and
GST_START_TEST (testQuery) functions but git gets confused in matching the
lines and reports a lot of changes in the patch.

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

8 years agoadaptivedemux: tests: create a GstDashDemuxTestCase class
Florin Apostol [Tue, 16 Feb 2016 14:24:26 +0000 (14:24 +0000)]
adaptivedemux: tests: create a GstDashDemuxTestCase class

Create a GstDashDemuxTestCase class that extends from GstAdaptiveDemuxTestCase.
This new class will contain all the DASH specific fields.

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

8 years agodashdemux: tests: added support to pass various parameters to http src callbacks
Florin Apostol [Tue, 16 Feb 2016 14:24:09 +0000 (14:24 +0000)]
dashdemux: tests: added support to pass various parameters to http src callbacks

Added support to pass various parameters to http src callbacks using GstStructure.

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

8 years agochecksumsink: add "hash" property and allow more checksum types
Scott D Phillips [Tue, 1 Mar 2016 22:54:01 +0000 (14:54 -0800)]
checksumsink: add "hash" property and allow more checksum types

Now any GChecksumType can be used by GstChecksumSink, adding
support for MD5, SHA-256 and SHA-512 in addition to SHA-1.

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

8 years agocheck: Fix LDADD/CFLAGS for player unit test
Edward Hervey [Fri, 22 Apr 2016 06:20:14 +0000 (08:20 +0200)]
check: Fix LDADD/CFLAGS for player unit test

It now requires libgstvideo

8 years agoadaptivedemux: tests: use a GstTestClock as the system clock
Florin Apostol [Tue, 16 Feb 2016 14:44:39 +0000 (14:44 +0000)]
adaptivedemux: tests: use a GstTestClock as the system clock

To allow the adaptivedemux live stream tests to run in non-realtime, use a
GstTestClock as the system clock. This allows the unit tests to complete
more quickly than if they had to complete in real time.

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

8 years agoadaptivedemux: use realtime_clock for waiting for a condition
Florin Apostol [Tue, 16 Feb 2016 14:44:27 +0000 (14:44 +0000)]
adaptivedemux: use realtime_clock for waiting for a condition

There are several places in adaptivedemux where it waits for
time to pass, for example to wait until it should next download
a fragment. The problem with this approach is that it means that
unit tests are forced to execute in realtime.

This commit replaces the use of g_cond_wait_until() with single
shot GstClockID that signals the condition variable. Under normal
usage, this behaves exactly as before. A unit test can replace the
system clock with a GstTestClock, allowing the test to control the
timing in adaptivedemux.

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

8 years agoadaptivedemux: use GstSystemClock to all real-time calculations
Florin Apostol [Tue, 16 Feb 2016 14:44:10 +0000 (14:44 +0000)]
adaptivedemux: use GstSystemClock to all real-time calculations

A realtime clock is used in many places, such as deciding which
fragment to select at start up and deciding how long to sleep
before a fragment becomes available. For example dashdemux needs
sample the client's estimate of UTC when selecting where to start
in a live DASH stream.

The problem with dashdemux calculating the client's idea of UTC is
that it makes it difficult to create unit tests, because the passage
of time is a factor in the test.

This commit changes dashdemux and adaptivedemux to use the
GstSystemClock, so that a unit test can replace the system clock when
it needs to be able to control the clock.

This commit makes no change to the behaviour under normal usage, as
GstSystemClock is based upon the system time.

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

8 years agowin32: Add new API to .def file
Sebastian Dröge [Thu, 21 Apr 2016 11:58:45 +0000 (14:58 +0300)]
win32: Add new API to .def file

8 years agoplayer: Add support for multiview settings
Barun Kumar Singh [Tue, 19 Apr 2016 05:29:46 +0000 (10:59 +0530)]
player: Add support for multiview settings

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

8 years agoapplemedia: vtenc: fix build break on iOS
Hyunjun Ko [Thu, 21 Apr 2016 01:06:40 +0000 (10:06 +0900)]
applemedia: vtenc: fix build break on iOS

Fix 'conflicting types' error
https://bugzilla.gnome.org/show_bug.cgi?id=765292

8 years agodvbsrc: add test for invalid DVB-T2 bandwidth
Reynaldo H. Verdejo Pinochet [Wed, 20 Apr 2016 22:34:55 +0000 (15:34 -0700)]
dvbsrc: add test for invalid DVB-T2 bandwidth

8 years agodvbsrc: warn on wrong DVB-T2 stream ID value
Reynaldo H. Verdejo Pinochet [Wed, 20 Apr 2016 21:47:22 +0000 (14:47 -0700)]
dvbsrc: warn on wrong DVB-T2 stream ID value

Stream ID, used for DVB-T2/S2 and ISDB-S can
not exceed 255 for the former. Change makes this
explicit.

8 years agoapplemedia: vtenc: Fix a warning by weak-link symbol
Hyunjun Ko [Wed, 20 Apr 2016 12:07:28 +0000 (21:07 +0900)]
applemedia: vtenc: Fix a warning by weak-link symbol

Fix this warning
address of function 'VTCompressionSessionPrepareToEncodeFrames' will always evaluate to 'true' [-Wpointer-bool-conversion]

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

8 years agogl: caopengllayersink: fix a minor warning
Hyunjun Ko [Wed, 20 Apr 2016 07:19:55 +0000 (16:19 +0900)]
gl: caopengllayersink: fix a minor warning

Fix "unused variable" warning

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

8 years agogl/cocoa: Fix incompatible type warning
Hyunjun Ko [Wed, 20 Apr 2016 07:00:36 +0000 (16:00 +0900)]
gl/cocoa: Fix incompatible type warning

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

8 years agod3dvideosink: Don't include deprecated and unavailable d3dx9tex.h
Nirbheek Chauhan [Tue, 19 Apr 2016 09:27:22 +0000 (14:57 +0530)]
d3dvideosink: Don't include deprecated and unavailable d3dx9tex.h

It's not needed, not on native Windows nor with mingw, and
we don't use anything from it anyway

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

8 years agokmssink: add sync support for secondary pipes
Philipp Zabel [Thu, 14 Apr 2016 10:46:58 +0000 (12:46 +0200)]
kmssink: add sync support for secondary pipes

The vblank event request must specify the crtc for which to request
the event. This fixes kmssink synchronisation for crtcs other than
the first.

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

8 years agoglimagesink: Fix indentation
Sebastian Dröge [Tue, 19 Apr 2016 06:30:39 +0000 (09:30 +0300)]
glimagesink: Fix indentation

8 years agoglimagesink: need to clean window_id when state change form READY to NULL
Haihua Hu [Tue, 19 Apr 2016 02:51:14 +0000 (10:51 +0800)]
glimagesink: need to clean window_id when state change form READY to NULL

When application change pipeline state NULL->READY and then READY->NULL,
glimagesink will not clear glsink->window_id. After that, when application
change state NULL->READY, the new_window_id is equal to window_id, glimagesink
will not set window handle. It will use the internal window but not the window
create by application.

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

8 years agovideoaggregator: plug caps leak
Thiago Santos [Mon, 18 Apr 2016 16:46:55 +0000 (13:46 -0300)]
videoaggregator: plug caps leak

It was losing ref of the original 'ret' caps that would be returned
or returning it with 2 references to it.