platform/upstream/gstreamer.git
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.

8 years agovideoaggregator: properly handle interlace-mode restrictions
Thiago Santos [Mon, 28 Mar 2016 18:44:27 +0000 (15:44 -0300)]
videoaggregator: properly handle interlace-mode restrictions

videoaggregator can't handle interlace-mode changes so it must
always restrict itself to the first interlacing mode it receives.

Tests included

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

8 years agodtsl: add some documentation
Raffaele Rossi [Fri, 22 Jan 2016 16:49:57 +0000 (16:49 +0000)]
dtsl: add some documentation

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

8 years agogl/caopengllayersink: Actually unset caps_change flag after resize
Heinrich Fink [Sun, 17 Apr 2016 14:45:41 +0000 (15:45 +0100)]
gl/caopengllayersink: Actually unset caps_change flag after resize

Otherwise, the sink would execute "on_resize" for each frame.

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

8 years agogl/caopengllayer: Apply layer.contentsScale to viewport dims
Heinrich Fink [Sun, 17 Apr 2016 14:43:20 +0000 (15:43 +0100)]
gl/caopengllayer: Apply layer.contentsScale to viewport dims

Fixes blurry content on HiDPI screens

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

8 years agompegtsmux: Remove an unnecessary check for NULL before g_free
Jan Schmidt [Sat, 16 Apr 2016 12:33:48 +0000 (22:33 +1000)]
mpegtsmux: Remove an unnecessary check for NULL before g_free

8 years agoDrop usage of 'overlayed' to mean 'overlaid'
Reynaldo H. Verdejo Pinochet [Fri, 15 Apr 2016 20:22:51 +0000 (13:22 -0700)]
Drop usage of 'overlayed' to mean 'overlaid'

8 years agodvbsrc: show invalid delsys/mod combination if found
Reynaldo H. Verdejo Pinochet [Fri, 15 Apr 2016 20:10:41 +0000 (13:10 -0700)]
dvbsrc: show invalid delsys/mod combination if found

8 years agodvbsrc: add modulation check for ATSC
Reynaldo H. Verdejo Pinochet [Fri, 15 Apr 2016 18:29:48 +0000 (11:29 -0700)]
dvbsrc: add modulation check for ATSC

8 years agodvbsrc: do not autodetect delsys twice
Reynaldo H. Verdejo Pinochet [Tue, 12 Apr 2016 06:45:22 +0000 (23:45 -0700)]
dvbsrc: do not autodetect delsys twice

The process is dealt with the first time the adapter is
opened, there is no need to do this again.

8 years agosrtpdec: also check for "roc" in caps
Aleix Conchillo Flaqué [Fri, 15 Apr 2016 05:32:05 +0000 (22:32 -0700)]
srtpdec: also check for "roc" in caps

Currently, gst_srtp_dec_sink_setcaps is happy if the "roc" field is not
provided in the caps. If it is not provided the stream will be properly
inserted in the hash table with a default "roc". Then, when the first
buffer arrives validate_buffer will find an existing stream in the hash
table and will not signal request-key, not allowing the user to provide
a "roc".

This patch expects "roc" in gst_srtp_dec_sink_setcaps, if not found a
request-key will be signaled and the user will be able to provide all
the srtp fields, including "roc".

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

8 years agocodecparsers: mpegvideo: Parse more slice header fields
Sreerenj Balachandran [Mon, 28 Jul 2014 09:14:02 +0000 (12:14 +0300)]
codecparsers: mpegvideo: Parse more slice header fields

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

8 years agocodecparsers: mpegvideo: Add vbv_delay field to PictureHeader
Sreerenj Balachandran [Mon, 28 Jul 2014 08:17:05 +0000 (11:17 +0300)]
codecparsers: mpegvideo: Add vbv_delay field to PictureHeader

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

8 years agocodecparsers: mpegvideo: Add more fields to the GstMpegVideoSequenceHdr
Sreerenj Balachandran [Mon, 28 Jul 2014 08:14:22 +0000 (11:14 +0300)]
codecparsers: mpegvideo: Add more fields to the GstMpegVideoSequenceHdr

Added the fields load_non_intra_quantiser_matrix and
load_chroma_intra_quantiser_matrix to the sequence header structure.

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

8 years agoAutomatic update of common submodule
Julien Isorce [Thu, 14 Apr 2016 09:02:32 +0000 (10:02 +0100)]
Automatic update of common submodule

From 6f2d209 to ac2f647

8 years agompegtsmux: free pad_data->language before g_strdup in order to avoid memory leak
Damian Ziobro [Wed, 13 Apr 2016 17:12:25 +0000 (18:12 +0100)]
mpegtsmux: free pad_data->language before g_strdup in order to avoid memory leak

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

8 years agoapplemedia: GstCoreVideoMeta in the plugin using only public API has no ctx member
Sebastian Dröge [Wed, 13 Apr 2016 10:10:12 +0000 (13:10 +0300)]
applemedia: GstCoreVideoMeta in the plugin using only public API has no ctx member

8 years agoapplemedia: GstCoreMediaMeta in the plugin using only public API has no ctx member
Sebastian Dröge [Wed, 13 Apr 2016 10:09:05 +0000 (13:09 +0300)]
applemedia: GstCoreMediaMeta in the plugin using only public API has no ctx member

8 years agometa: Initialize all remaining metas in their init function
Sebastian Dröge [Wed, 13 Apr 2016 07:25:32 +0000 (10:25 +0300)]
meta: Initialize all remaining metas in their init function

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

8 years agometa: Initialize all GstMeta fields
Sebastian Dröge [Wed, 13 Apr 2016 07:17:24 +0000 (10:17 +0300)]
meta: Initialize all GstMeta fields

During allocation they are not initialized to all zeroes.

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

8 years agodvbsrc: avoid redundant delsys querying
Reynaldo H. Verdejo Pinochet [Tue, 12 Apr 2016 05:08:03 +0000 (22:08 -0700)]
dvbsrc: avoid redundant delsys querying

There is no need to query the frontend for the list
of supported delivery systems if we are selecting
one from the list of autodetected ones.

8 years agodvb/parsechannels: add information to file not found error
Reynaldo H. Verdejo Pinochet [Mon, 11 Apr 2016 01:58:33 +0000 (18:58 -0700)]
dvb/parsechannels: add information to file not found error

Adds useful failure info (like filename) comming from
g_file_get_contents() as done for every other error in
this block.

8 years agogl/cocoa/eagl: don't leak GThread's when dispatching messages
Matthew Waters [Tue, 12 Apr 2016 14:43:18 +0000 (00:43 +1000)]
gl/cocoa/eagl: don't leak GThread's when dispatching messages

gst_gl_context_get_thread() returns a refed pointer, we need to unref it.