platform/upstream/gstreamer.git
6 years agortmpsrc: remove unused macro
George Kiagiadakis [Mon, 7 Aug 2017 11:05:14 +0000 (14:05 +0300)]
rtmpsrc: remove unused macro

6 years agoadaptivedemux: Stop prepared streams as well as running streams
davecraig@unbalancedaudio.com [Tue, 8 Aug 2017 09:20:00 +0000 (09:20 +0000)]
adaptivedemux: Stop prepared streams as well as running streams

There can be twice as many stream tasks running as there are output
pads for playback of variant HLS playlists. Half of them are the
current pads, and the other half are the pads that are about to be
switched to due to a bitrate change.
The old code only stopped the current streams which could result
in a deadlock on stopping the pipeline. The changes force stopping
and joining of any prepared streams too.

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

6 years agocurlhttpsrc: Does version set fail because of HTTP2
Sam Hurst [Mon, 7 Aug 2017 15:41:27 +0000 (16:41 +0100)]
curlhttpsrc: Does version set fail because of HTTP2

Check to see if setting CURL_HTTP_VERSION_2_0 failed due to lack of HTTP/2
support or some bigger underlying libcurl failure

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

6 years agocurlhttpsrc: set http-version class property as enum
Philippe Normand [Mon, 7 Aug 2017 09:25:17 +0000 (10:25 +0100)]
curlhttpsrc: set http-version class property as enum

This matches better with the preferred_http_version which was already declared
as enum.

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

6 years agoplayer: Constify the config argument to gst_player_get_video_snapshot()
Sebastian Dröge [Tue, 8 Aug 2017 08:05:15 +0000 (11:05 +0300)]
player: Constify the config argument to gst_player_get_video_snapshot()

This structure is only ever read from.

6 years agoRevert "kmssink: support videooverlay interface"
Nicolas Dufresne [Mon, 7 Aug 2017 20:00:16 +0000 (16:00 -0400)]
Revert "kmssink: support videooverlay interface"

This is causing hard failure for non-squared pixel. The fix isn't
trivial so taking offline by reverting.

This reverts commit db07f4507dad6561fc7e9320624aa7f0f0e10b36.

6 years agovideoaggregator: Don't mix up width and height
Sebastian Dröge [Fri, 4 Aug 2017 08:08:18 +0000 (11:08 +0300)]
videoaggregator: Don't mix up width and height

CID 1416129

6 years agoexamples: fix compiler warning in compositor crossfade example
Tim-Philipp Müller [Thu, 3 Aug 2017 19:21:17 +0000 (20:21 +0100)]
examples: fix compiler warning in compositor crossfade example

warning: control reaches end of non-void function

6 years agodocs: update for git master
Tim-Philipp Müller [Thu, 3 Aug 2017 19:17:03 +0000 (20:17 +0100)]
docs: update for git master

6 years agocompositor: update disted orc fallback files
Tim-Philipp Müller [Thu, 3 Aug 2017 19:14:20 +0000 (20:14 +0100)]
compositor: update disted orc fallback files

6 years agotests: examples: Add a simple crossfade example
Thibault Saunier [Wed, 12 Jul 2017 02:04:55 +0000 (22:04 -0400)]
tests: examples: Add a simple crossfade example

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

6 years agocompositor: Add support for crossfade blending
Thibault Saunier [Thu, 6 Jul 2017 18:26:21 +0000 (14:26 -0400)]
compositor: Add support for crossfade blending

Crossfading is a bit more complex than just having two pads with the
right keyframes as the blending is not exactly the same.

The difference is in the way we compute the alpha channel, in the case
of crossfading, we have to compute an additive operation between
the destination and the source (factored by the alpha property of both
the input pad alpha property and the crossfading ratio) basically so
that the crossfade result of 2 opaque frames is also fully opaque at any
time in the crossfading process, avoid bleeding through the layer
blending.

Some rationnal can be found in https://phabricator.freedesktop.org/T7773.

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

6 years agode265: Fix plugin name to match new plugin naming convention
Thibault Saunier [Thu, 20 Jul 2017 20:17:16 +0000 (16:17 -0400)]
de265: Fix plugin name to match new plugin naming convention

6 years agompegpsmux: Do not dereference a NULL pointer
Thibault Saunier [Fri, 14 Jul 2017 13:54:40 +0000 (09:54 -0400)]
mpegpsmux: Do not dereference a NULL pointer

6 years agodecklink: Fix indentation
Sebastian Dröge [Wed, 2 Aug 2017 15:43:54 +0000 (18:43 +0300)]
decklink: Fix indentation

6 years agoipcpipeline: don't use g_steal_pointer; it's not in the current required version...
George Kiagiadakis [Wed, 2 Aug 2017 07:46:46 +0000 (10:46 +0300)]
ipcpipeline: don't use g_steal_pointer; it's not in the current required version of GLib

We depend on GLib 2.40, g_steal_pointer was introduced in 2.44.

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

6 years agoipcpipeline: move to sys/ and make it dependent on platform support for unix sockets
George Kiagiadakis [Tue, 1 Aug 2017 14:07:59 +0000 (17:07 +0300)]
ipcpipeline: move to sys/ and make it dependent on platform support for unix sockets

6 years agodecklinksrc: Raise limit of devices to 16
Georg Lippitsch [Tue, 1 Aug 2017 14:15:13 +0000 (10:15 -0400)]
decklinksrc: Raise limit of devices to 16

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

6 years agomeson: enable building the ipcpipeline plugin
George Kiagiadakis [Tue, 1 Aug 2017 10:26:38 +0000 (13:26 +0300)]
meson: enable building the ipcpipeline plugin

6 years agotests/examples: add manual tests/examples for the ipcpipeline elements
George Kiagiadakis [Wed, 5 Jul 2017 13:56:24 +0000 (16:56 +0300)]
tests/examples: add manual tests/examples for the ipcpipeline elements

ipcpipeline1 is a very simple test that shows a short videotestsrc fragment.

ipc-play is a clone of gst-play that splits the pipeline in two
processes, running the source & demuxer on the master process
and the decoders & sinks on the slave.

6 years agotests/check: add automatic unit test suite for the ipcpipeline elements
George Kiagiadakis [Wed, 5 Jul 2017 13:53:48 +0000 (16:53 +0300)]
tests/check: add automatic unit test suite for the ipcpipeline elements

All tests run within a common framework for splitting processes
and making them interract properly with the gst check system.

6 years agoipcpipeline: introduce new plugin for inter-process pipelines
George Kiagiadakis [Wed, 5 Jul 2017 13:50:22 +0000 (16:50 +0300)]
ipcpipeline: introduce new plugin for inter-process pipelines

These elements allow splitting a pipeline across several processes,
with communication done by the ipcpipelinesink and ipcpipelinesrc
elements. The main use case is to split a playback pipeline into
a process that runs networking, parser & demuxer and another process
that runs the decoder & sink, for security reasons.

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

6 years agogl: return NULL mem if eglCreateImage failed
Julien Isorce [Tue, 1 Aug 2017 09:21:51 +0000 (10:21 +0100)]
gl: return NULL mem if eglCreateImage failed

Found on rpi when gpu_mem is too low so there is not enough memory to
create the eglimage. But still gst_buffer_pool_acquire_buffer succeeded.
And it leads to a CRITICAL assert:
  gst_egl_image_get_image: assertion 'GST_IS_EGL_IMAGE (image)' failed

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

7 years agokmssink: support videooverlay interface
Haihua Hu [Tue, 20 Jun 2017 05:11:27 +0000 (13:11 +0800)]
kmssink: support videooverlay interface

Implement videooverlay interface in kmssink, divided into two cases:
when driver supports scale, then we do refresh in show_frame(); if
not, send a reconfigure event to upstream and re-negotiate, using the
new size.

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

7 years agoaggregator: log all events
Stefan Sauer [Sun, 30 Jul 2017 10:17:57 +0000 (12:17 +0200)]
aggregator: log all events

We already log a few events explicitly, just log them all with more detail.

7 years agoaggregator: fix header formatting
Tim-Philipp Müller [Sat, 29 Jul 2017 15:54:38 +0000 (16:54 +0100)]
aggregator: fix header formatting

7 years agogl: document missing GstGLShader functions
Matthew Waters [Fri, 28 Jul 2017 15:58:38 +0000 (16:58 +0100)]
gl: document missing GstGLShader functions

7 years agogl/docs: some documentation updates
Matthew Waters [Fri, 28 Jul 2017 10:00:12 +0000 (11:00 +0100)]
gl/docs: some documentation updates

Add some missing/incomplete docs

7 years agogl/docs: correctly name our objects in the documentation GstGl -> GstGL
Matthew Waters [Wed, 26 Jul 2017 09:04:09 +0000 (19:04 +1000)]
gl/docs: correctly name our objects in the documentation GstGl -> GstGL

7 years agogl/docs: document GstGLFormat enum
Matthew Waters [Wed, 26 Jul 2017 09:03:15 +0000 (19:03 +1000)]
gl/docs: document GstGLFormat enum

7 years agocurl: curlqueue: add symbol name to avoid confusing gtkdoc
Reynaldo H. Verdejo Pinochet [Thu, 27 Jul 2017 00:22:31 +0000 (17:22 -0700)]
curl: curlqueue: add symbol name to avoid confusing gtkdoc

7 years agocurlhttpsrc: do not check for NULL before g_free()
Reynaldo H. Verdejo Pinochet [Wed, 26 Jul 2017 23:51:50 +0000 (16:51 -0700)]
curlhttpsrc: do not check for NULL before g_free()

g_free() is NULL-safe.

7 years agocurlhttpsrc: Fix flagged Coverity errors
Sam Hurst [Wed, 26 Jul 2017 16:06:17 +0000 (17:06 +0100)]
curlhttpsrc: Fix flagged Coverity errors

Fixes CIDs 1415707 - 1415717

7 years agocurl: Reorganise header files to fix macOS builds
Sam Hurst [Wed, 26 Jul 2017 16:43:19 +0000 (17:43 +0100)]
curl: Reorganise header files to fix macOS builds

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

7 years agoaudioaggregator: use local var
Stefan Sauer [Sun, 23 Jul 2017 11:26:23 +0000 (13:26 +0200)]
audioaggregator: use local var

Instead of the self->priv-> deref use the local var we created already.

7 years agocurlhttpsrc: Fix compilation without debugging system enabled
Edward Hervey [Wed, 26 Jul 2017 07:19:42 +0000 (09:19 +0200)]
curlhttpsrc: Fix compilation without debugging system enabled

7 years agocurl: Add curlhttpsrc element
Sam Hurst [Tue, 25 Jul 2017 14:23:57 +0000 (15:23 +0100)]
curl: Add curlhttpsrc element

Merged from https://github.com/bbc/gst-curlhttpsrc commit
  f8aabcfc5c50a44f3362de831377d6e86dcd2d49

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

7 years agokmsallocator: add driver pitch support for planar formats
Guillaume Desmottes [Mon, 17 Jul 2017 14:07:21 +0000 (16:07 +0200)]
kmsallocator: add driver pitch support for planar formats

We used to to handle the driver pitch only for single plan video format.
Add support for multi planes format by re-using the extrapolate function
from the v4l2 element.
Also use this pitch to calculate the proper offsets.

Prevent DRM drivers to pick a slow path if the pitches/offsets don't
match the ones it reported.

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

7 years agokmsallocator: inline gst_kms_allocator_alloc_empty()
Guillaume Desmottes [Mon, 17 Jul 2017 13:58:57 +0000 (15:58 +0200)]
kmsallocator: inline gst_kms_allocator_alloc_empty()

No semantic change, just renamed the 'tmp' variable to a more meaningful
name and to use the same structure as in gst_kms_allocator_bo_alloc().

Needed as I'm going to move the gst_memory_init() call after the
allocation of the DUMB buffer.

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

7 years agomxfdemux: Fix compilation with gcc 4.8.4
Sebastian Dröge [Tue, 25 Jul 2017 07:03:25 +0000 (10:03 +0300)]
mxfdemux: Fix compilation with gcc 4.8.4

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

7 years agoaggregator: Remove the GAP event from the queue before queueing up the GAP buffer
Sebastian Dröge [Mon, 24 Jul 2017 15:38:57 +0000 (18:38 +0300)]
aggregator: Remove the GAP event from the queue before queueing up the GAP buffer

Otherwise check_events() will not remove the GAP event (as the queue
tail is not the event anymore but the GAP buffer), then the GAP buffer
is handled, then the GAP event is handled again, ... forever.

7 years agomxfdemux: Correctly consider frame reordering for timecode calculation
Sebastian Dröge [Mon, 24 Jul 2017 14:00:02 +0000 (17:00 +0300)]
mxfdemux: Correctly consider frame reordering for timecode calculation

7 years agomxfdemux: Use material track edit rate for component PTS offsetting
Sebastian Dröge [Mon, 24 Jul 2017 13:54:22 +0000 (16:54 +0300)]
mxfdemux: Use material track edit rate for component PTS offsetting

7 years agomxfdemux: Output timecodes for video streams
Sebastian Dröge [Mon, 24 Jul 2017 13:49:19 +0000 (16:49 +0300)]
mxfdemux: Output timecodes for video streams

7 years agomxfdemux: Keep track of component start positions and material track positions
Sebastian Dröge [Mon, 24 Jul 2017 13:21:31 +0000 (16:21 +0300)]
mxfdemux: Keep track of component start positions and material track positions

This allows us to know exactly where in the material track we are, and
how to convert from a PTS for a source track to the actual PTS of the
material track (i.e. by adding the component start position).

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

7 years agotsmux: Fix make distcheck
Sebastian Dröge [Fri, 21 Jul 2017 09:28:23 +0000 (12:28 +0300)]
tsmux: Fix make distcheck

7 years agogl: fix g-i annotations for glframebuffer
Tim-Philipp Müller [Fri, 21 Jul 2017 07:43:45 +0000 (08:43 +0100)]
gl: fix g-i annotations for glframebuffer

gstglframebuffer.c:176: Error: GstGL: annotations not supported for tag "Since:".

7 years agotsmux: Add mpegtsmux_jpeg2000.c to meson.build
Sebastian Dröge [Fri, 21 Jul 2017 06:33:54 +0000 (09:33 +0300)]
tsmux: Add mpegtsmux_jpeg2000.c to meson.build

7 years agotsmux: Store PES payload size in a 32 bit integer
Sebastian Dröge [Fri, 21 Jul 2017 06:27:20 +0000 (09:27 +0300)]
tsmux: Store PES payload size in a 32 bit integer

While the size in the packet is only 16 bits, we need to handle bigger
sizes without overflowing. For video streams this can happen, 0 is
written to the stream instead.

This fixes muxing of buffers >= 2**16.

7 years agotsmux/tsdemux: Add support for JPEG2000
Aaron Boxer [Wed, 19 Jul 2017 14:14:21 +0000 (10:14 -0400)]
tsmux/tsdemux: Add support for JPEG2000

Based on patches by Milos Seleceni.

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

7 years agod3dsinkwrapper: Make the DLL name match the plugin name
Nicolas Dufresne [Thu, 20 Jul 2017 14:29:18 +0000 (10:29 -0400)]
d3dsinkwrapper: Make the DLL name match the plugin name

Otherwise, since 1.12, the plugin gets blacklisted.

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

7 years agodecklink: Fix building with MSYS2's MinGW
Nirbheek Chauhan [Thu, 20 Jul 2017 12:39:15 +0000 (18:09 +0530)]
decklink: Fix building with MSYS2's MinGW

Reported and tested by Philippe Renon.

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

7 years agomeson: fix potentially undefined shm_deps variable
Alessandro Decina [Thu, 20 Jul 2017 08:51:53 +0000 (18:51 +1000)]
meson: fix potentially undefined shm_deps variable

7 years agomeson: make smoothstreaming depend on gio
Alessandro Decina [Thu, 20 Jul 2017 08:43:11 +0000 (18:43 +1000)]
meson: make smoothstreaming depend on gio

7 years agomeson: specify fallback for libgmodule_dep
Alessandro Decina [Thu, 20 Jul 2017 07:49:59 +0000 (17:49 +1000)]
meson: specify fallback for libgmodule_dep

Fixes build with glib built as a subproject.

7 years agodecklink: Fix format specifier warnings in logging v2
Nirbheek Chauhan [Tue, 18 Jul 2017 22:49:34 +0000 (04:19 +0530)]
decklink: Fix format specifier warnings in logging v2

HRESULT is unsigned long on Windows, but the Decklink headers define
it to 'int' on Linux. Confusingly, the defines that talk about the
possible return values for it use long constants. The easy fix would
be to change the linux/LinuxCOM.h header, but that's copied from the
decklink SDK.

Change the logging to always upcast to unsigned long while printing
HRESULT for consistency across platforms.

7 years agodecklink: Fix CI failure due to missing WINAPI definition
Nirbheek Chauhan [Tue, 18 Jul 2017 22:44:13 +0000 (04:14 +0530)]
decklink: Fix CI failure due to missing WINAPI definition

WINAPI is for the windows calling convention to use, and should expand
to nothing on Linux.

https://build.gnome.org/continuous/buildmaster/builds/2017/07/18/76/build/log-gst-plugins-bad.txt

7 years agodecklink: Fix format specifier warnings in logging
Nirbheek Chauhan [Tue, 18 Jul 2017 20:51:42 +0000 (02:21 +0530)]
decklink: Fix format specifier warnings in logging

gstdecklinkvideosrc.cpp:425:7: warning: format '%x' expects argument of type 'unsigned int', but argument 8 has type 'HRESULT {aka long int}' [-Wformat]

[and so on]

7 years agodecklink: Fix build on mingw32 by adding missing WINAPI
Nirbheek Chauhan [Tue, 18 Jul 2017 20:49:47 +0000 (02:19 +0530)]
decklink: Fix build on mingw32 by adding missing WINAPI

gstdecklinkaudiosink.cpp:155:19: error: conflicting type attributes specified for 'virtual HRESULT GStreamerAudioOutputCallback::QueryInterface(const IID&, void**)'
In file included from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/objbase.h:153:0,
                 from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/ole2.h:16,
                 from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/windows.h:94,
                 from /var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/rpc.h:16,
                 from win/DeckLinkAPI.h:27,
                 from gstdecklink.h:35,
                 from gstdecklinkaudiosink.h:27,
                 from gstdecklinkaudiosink.cpp:25:
/var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/mingw/w32/bin/../lib/gcc/i686-w64-mingw32/4.7.3/../../../../i686-w64-mingw32/include/unknwn.h:67:25: error:   overriding 'virtual HRESULT IUnknown::QueryInterface(const IID&, void**)'

(and many more)

https://ci.gstreamer.net/job/cerbero-cross-mingw32/6407/console

7 years agovideo: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 11:46:09 +0000 (12:46 +0100)]
video: mark symbols explicitly for export with GST_EXPORT

7 years agouridownloader: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 11:45:14 +0000 (12:45 +0100)]
uridownloader: mark symbols explicitly for export with GST_EXPORT

7 years agoplayer: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 11:43:26 +0000 (12:43 +0100)]
player: mark symbols explicitly for export with GST_EXPORT

7 years agoopencv: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 00:16:28 +0000 (01:16 +0100)]
opencv: mark symbols explicitly for export with GST_EXPORT

7 years agompegts: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 18 Jul 2017 00:10:56 +0000 (01:10 +0100)]
mpegts: mark symbols explicitly for export with GST_EXPORT

7 years agophotography: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:49:41 +0000 (00:49 +0100)]
photography: mark symbols explicitly for export with GST_EXPORT

7 years agoinsertbin: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:23:09 +0000 (00:23 +0100)]
insertbin: mark symbols explicitly for export with GST_EXPORT

7 years agocodecparsers: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Sat, 20 May 2017 12:19:07 +0000 (13:19 +0100)]
codecparsers: mark symbols explicitly for export with GST_EXPORT

7 years agobasecamerabinsrc: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:31:36 +0000 (00:31 +0100)]
basecamerabinsrc: mark symbols explicitly for export with GST_EXPORT

7 years agoaggregator: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:30:51 +0000 (00:30 +0100)]
aggregator: mark symbols explicitly for export with GST_EXPORT

7 years agoaudio: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:29:56 +0000 (00:29 +0100)]
audio: mark symbols explicitly for export with GST_EXPORT

7 years agoallocators: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:27:54 +0000 (00:27 +0100)]
allocators: mark symbols explicitly for export with GST_EXPORT

7 years agoadaptivedemux: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Mon, 17 Jul 2017 23:26:23 +0000 (00:26 +0100)]
adaptivedemux: mark symbols explicitly for export with GST_EXPORT

7 years agowebvttenc: Change src pad template to application/x-subtitle-vtt
Seungha Yang [Mon, 10 Jul 2017 07:39:49 +0000 (16:39 +0900)]
webvttenc: Change src pad template to application/x-subtitle-vtt

Use consistent mime-type with subparse element for webvtt format

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

7 years agodashdemux: Add support webvtt subtitle stream
Seungha Yang [Sun, 9 Jul 2017 05:34:21 +0000 (14:34 +0900)]
dashdemux: Add support webvtt subtitle stream

Enable exposing webvtt subtitle streams.

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

7 years agoopenh264enc: set GST_PARAM_MUTABLE_PLAYING for bitrate/max-bitrate properties
Nicola Murino [Mon, 17 Jul 2017 22:52:03 +0000 (00:52 +0200)]
openh264enc: set GST_PARAM_MUTABLE_PLAYING for bitrate/max-bitrate properties

This way is documented that these properties can be changed in any state

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

7 years agoopenh264enc: allow to dynamically change bitrate
Nicola Murino [Mon, 17 Jul 2017 22:49:12 +0000 (00:49 +0200)]
openh264enc: allow to dynamically change bitrate

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

7 years agoopenh264enc: fix indentation
Nicola Murino [Mon, 17 Jul 2017 22:36:27 +0000 (00:36 +0200)]
openh264enc: fix indentation

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

7 years agocruft: add ext/gsettings to the cruft list
Stefan Sauer [Mon, 17 Jul 2017 17:29:39 +0000 (19:29 +0200)]
cruft: add ext/gsettings to the cruft list

7 years agojpeg2000parse: support 2-component images
Aaron Boxer [Tue, 11 Jul 2017 14:09:02 +0000 (10:09 -0400)]
jpeg2000parse: support 2-component images

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

7 years agojpeg2000parse: initial support for JP2 format
Aaron Boxer [Sat, 24 Jun 2017 15:18:06 +0000 (11:18 -0400)]
jpeg2000parse: initial support for JP2 format

This is a simple way of supporting JP2 : we treat is as JPC, and throw
away header info.

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

7 years agojpeg2000parse: Parse colorimetry, interlace-mode, field-order, multiview-mode and...
Aaron Boxer [Thu, 6 Jul 2017 19:14:57 +0000 (15:14 -0400)]
jpeg2000parse: Parse colorimetry, interlace-mode, field-order, multiview-mode and chroma-site

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

7 years agogsm: unmap output buffer when done
Satya Prakash Gupta [Thu, 13 Jul 2017 07:47:57 +0000 (13:17 +0530)]
gsm: unmap output buffer when done

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

7 years agomeson: Fix GLES2 check
Edward Hervey [Mon, 17 Jul 2017 06:06:22 +0000 (08:06 +0200)]
meson: Fix GLES2 check

On systems without pkg-config, we have the the library present but
not the headers

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

7 years agoglwindow_cocoa: fix video overlay support
Philippe Normand [Sat, 15 Jul 2017 16:25:36 +0000 (17:25 +0100)]
glwindow_cocoa: fix video overlay support

Make sure the window handle is configured after the NSWindow was created.

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

7 years agogl/cocoa: keep refs over async operations
Matthew Waters [Sat, 15 Jul 2017 15:17:04 +0000 (01:17 +1000)]
gl/cocoa: keep refs over async operations

Avoids dereferencing dead objects

What happens in the autovideosink case is that context 1 is created and
destroyed before all the async operations hae executed on the associated
window.  When the delayed operations execute, they then reference dead
objects and crash.

We fix this by keeping refs over all async operations so the object
cannot be deleted while async operations are in flight.

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

7 years agogl/window/x11: implement set_render_rectangle support
Matthew Waters [Fri, 14 Jul 2017 15:24:52 +0000 (01:24 +1000)]
gl/window/x11: implement set_render_rectangle support

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

7 years agotests: audiomixer: set all properties at once
Stefan Sauer [Sat, 15 Jul 2017 19:28:38 +0000 (21:28 +0200)]
tests: audiomixer: set all properties at once

7 years agotests: audiomixer: use the buffer helper for other tests too
Stefan Sauer [Sat, 15 Jul 2017 17:33:21 +0000 (19:33 +0200)]
tests: audiomixer: use the buffer helper for other tests too

7 years agomeson: add translations
Tim-Philipp Müller [Sat, 15 Jul 2017 11:52:38 +0000 (12:52 +0100)]
meson: add translations

7 years agodvb: src: consolidate tuning stats gathering
Reynaldo H. Verdejo Pinochet [Thu, 29 Jun 2017 21:35:40 +0000 (14:35 -0700)]
dvb: src: consolidate tuning stats gathering

Additionally: drop unneeded fe_fd variable.

7 years agoaudiomixer: document caps negotiation raciness
Tim-Philipp Müller [Fri, 14 Jul 2017 12:54:31 +0000 (13:54 +0100)]
audiomixer: document caps negotiation raciness

Until we land conversion support in audioaggregator (#773762).

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

7 years agodecklink: Add autotools support on Windows
Nirbheek Chauhan [Fri, 14 Jul 2017 08:44:38 +0000 (14:14 +0530)]
decklink: Add autotools support on Windows

Also add a missing windows file to EXTRA_DIST

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

7 years agopkgconfig: missing GL_CFLAGS in gstreamer-gl-uninstalled.pc.in
Julien Isorce [Fri, 7 Jul 2017 15:33:42 +0000 (16:33 +0100)]
pkgconfig: missing GL_CFLAGS in gstreamer-gl-uninstalled.pc.in

Already present in gstreamer-gl.pc.in

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

7 years agoaudiomixer: add a helper for buffer creation
Stefan Sauer [Fri, 14 Jul 2017 06:09:25 +0000 (08:09 +0200)]
audiomixer: add a helper for buffer creation

This makes the test setup easier to read.

7 years agoaggregator: remove duplicated code fragment
Stefan Sauer [Thu, 13 Jul 2017 20:00:58 +0000 (22:00 +0200)]
aggregator: remove duplicated code fragment

This code already runs above when (event || query).

7 years agoaggregator: code cleanups
Stefan Sauer [Thu, 13 Jul 2017 19:55:55 +0000 (21:55 +0200)]
aggregator: code cleanups

Fix comment typos, some copy'n'paste in logging. Add more doc comments.

7 years agoaudiomixer: use test helper once more
Stefan Sauer [Thu, 13 Jul 2017 19:54:55 +0000 (21:54 +0200)]
audiomixer: use test helper once more

7 years agoadaptivedemux: Workaround for live seek ranges when advancing
Edward Hervey [Thu, 13 Jul 2017 10:57:12 +0000 (12:57 +0200)]
adaptivedemux: Workaround for live seek ranges when advancing

This is a workaround for a regression introduced by
f4190a49c04f1d5d174cebba0bc9a03a7ec721c2
 ( adaptivedemux: Check live seeking range more often )

The goal of the previous commit was to be able to cope with non-1.0
rates on live streams which have a "seeking window" (i.e. the server
keeps around quite a bit of the live stream so you can seek back into
it).

Without that commit, two different kind of issues would happen:
* When doing reverse playback, you would never check whether you
  are outside of the seekable region. And would then continuously
  try to download fragments that are no longer present.
* When doing fast forward, you would end up requesting fragments
  which are not present yet.

In order to determine whether one was *really* outside of the seekable
window, we check whether the current stream position is still
within the seekable region.

The *problem* though with that commit is that it assumes that subclasses
will return continuously updated seeking ranges (i.e. dependent on the
current time), which is *NOT* the case.

For example:
* dashdemux does use the current UTC to determine the seekable region
* hlsdemux uses the values from the last updated manifest

Therefore if one downloads fragments faster than realtime, for HLS
we would end up at the end of the last manifest seekable range, and
the previous commit would consider the stream as being ended... which
is not the case.

In the long run, we need to figure out a way to cope with non-1.0
rates on live streams for all types of stream (including HLS).

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

7 years agodashdemux: update manifest streams correctly if pads aren't exposed
Thiago Santos [Tue, 30 May 2017 05:47:10 +0000 (22:47 -0700)]
dashdemux: update manifest streams correctly if pads aren't exposed

In some cases, it is possible that we need to update the manifest before
pads have been exposed at all. If there are no current pads, just expose
the next prepared streams. This doesn't handle the case where a manifest
update would happen while a live streams is changing periods, which is a
type of use case that we're unaware of real usages yet.

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

7 years agoadaptivedemux: small refactor to avoid repeated code
Thiago Santos [Sat, 13 May 2017 22:17:57 +0000 (15:17 -0700)]
adaptivedemux: small refactor to avoid repeated code

Move segment event update to a function

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