George Kiagiadakis [Mon, 7 Aug 2017 11:25:26 +0000 (14:25 +0300)]
rtmpsrc: fix flushing seek
Previously this was broken, because a flushing seek causes unlock()
to be called and in the implementation of unlock() we close the
socket, so the seek errors out.
This patch fixes it by re-connecting before the seek.
Unfortunately, a seek does not work properly right after
re-connecting, so a small hack is also in place: we read 1 buffer
before seeking to allow librtmp to do its processing in RTMP_Read()
https://bugzilla.gnome.org/show_bug.cgi?id=785941
George Kiagiadakis [Mon, 7 Aug 2017 11:05:14 +0000 (14:05 +0300)]
rtmpsrc: remove unused macro
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
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
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
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.
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.
Sebastian Dröge [Fri, 4 Aug 2017 08:08:18 +0000 (11:08 +0300)]
videoaggregator: Don't mix up width and height
CID 1416129
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
Tim-Philipp Müller [Thu, 3 Aug 2017 19:17:03 +0000 (20:17 +0100)]
docs: update for git master
Tim-Philipp Müller [Thu, 3 Aug 2017 19:14:20 +0000 (20:14 +0100)]
compositor: update disted orc fallback files
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
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
Thibault Saunier [Thu, 20 Jul 2017 20:17:16 +0000 (16:17 -0400)]
de265: Fix plugin name to match new plugin naming convention
Thibault Saunier [Fri, 14 Jul 2017 13:54:40 +0000 (09:54 -0400)]
mpegpsmux: Do not dereference a NULL pointer
Sebastian Dröge [Wed, 2 Aug 2017 15:43:54 +0000 (18:43 +0300)]
decklink: Fix indentation
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
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
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
George Kiagiadakis [Tue, 1 Aug 2017 10:26:38 +0000 (13:26 +0300)]
meson: enable building the ipcpipeline plugin
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.
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.
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
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
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
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.
Tim-Philipp Müller [Sat, 29 Jul 2017 15:54:38 +0000 (16:54 +0100)]
aggregator: fix header formatting
Matthew Waters [Fri, 28 Jul 2017 15:58:38 +0000 (16:58 +0100)]
gl: document missing GstGLShader functions
Matthew Waters [Fri, 28 Jul 2017 10:00:12 +0000 (11:00 +0100)]
gl/docs: some documentation updates
Add some missing/incomplete docs
Matthew Waters [Wed, 26 Jul 2017 09:04:09 +0000 (19:04 +1000)]
gl/docs: correctly name our objects in the documentation GstGl -> GstGL
Matthew Waters [Wed, 26 Jul 2017 09:03:15 +0000 (19:03 +1000)]
gl/docs: document GstGLFormat enum
Reynaldo H. Verdejo Pinochet [Thu, 27 Jul 2017 00:22:31 +0000 (17:22 -0700)]
curl: curlqueue: add symbol name to avoid confusing gtkdoc
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.
Sam Hurst [Wed, 26 Jul 2017 16:06:17 +0000 (17:06 +0100)]
curlhttpsrc: Fix flagged Coverity errors
Fixes CIDs 1415707 - 1415717
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
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.
Edward Hervey [Wed, 26 Jul 2017 07:19:42 +0000 (09:19 +0200)]
curlhttpsrc: Fix compilation without debugging system enabled
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
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
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
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
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.
Sebastian Dröge [Mon, 24 Jul 2017 14:00:02 +0000 (17:00 +0300)]
mxfdemux: Correctly consider frame reordering for timecode calculation
Sebastian Dröge [Mon, 24 Jul 2017 13:54:22 +0000 (16:54 +0300)]
mxfdemux: Use material track edit rate for component PTS offsetting
Sebastian Dröge [Mon, 24 Jul 2017 13:49:19 +0000 (16:49 +0300)]
mxfdemux: Output timecodes for video streams
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
Sebastian Dröge [Fri, 21 Jul 2017 09:28:23 +0000 (12:28 +0300)]
tsmux: Fix make distcheck
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:".
Sebastian Dröge [Fri, 21 Jul 2017 06:33:54 +0000 (09:33 +0300)]
tsmux: Add mpegtsmux_jpeg2000.c to meson.build
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.
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
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
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
Alessandro Decina [Thu, 20 Jul 2017 08:51:53 +0000 (18:51 +1000)]
meson: fix potentially undefined shm_deps variable
Alessandro Decina [Thu, 20 Jul 2017 08:43:11 +0000 (18:43 +1000)]
meson: make smoothstreaming depend on gio
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.
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.
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
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]
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
Tim-Philipp Müller [Tue, 18 Jul 2017 11:46:09 +0000 (12:46 +0100)]
video: 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
Tim-Philipp Müller [Tue, 18 Jul 2017 11:43:26 +0000 (12:43 +0100)]
player: 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
Tim-Philipp Müller [Tue, 18 Jul 2017 00:10:56 +0000 (01:10 +0100)]
mpegts: 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
Tim-Philipp Müller [Mon, 17 Jul 2017 23:23:09 +0000 (00:23 +0100)]
insertbin: 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
Tim-Philipp Müller [Mon, 17 Jul 2017 23:31:36 +0000 (00:31 +0100)]
basecamerabinsrc: 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
Tim-Philipp Müller [Mon, 17 Jul 2017 23:29:56 +0000 (00:29 +0100)]
audio: 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
Tim-Philipp Müller [Mon, 17 Jul 2017 23:26:23 +0000 (00:26 +0100)]
adaptivedemux: mark symbols explicitly for export with GST_EXPORT
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
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
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
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
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
Stefan Sauer [Mon, 17 Jul 2017 17:29:39 +0000 (19:29 +0200)]
cruft: add ext/gsettings to the cruft list
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
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
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
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
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
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
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
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
Stefan Sauer [Sat, 15 Jul 2017 19:28:38 +0000 (21:28 +0200)]
tests: audiomixer: set all properties at once
Stefan Sauer [Sat, 15 Jul 2017 17:33:21 +0000 (19:33 +0200)]
tests: audiomixer: use the buffer helper for other tests too
Tim-Philipp Müller [Sat, 15 Jul 2017 11:52:38 +0000 (12:52 +0100)]
meson: add translations
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.
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
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
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
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.
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).
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.
Stefan Sauer [Thu, 13 Jul 2017 19:54:55 +0000 (21:54 +0200)]
audiomixer: use test helper once more
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
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