Matthew Waters [Thu, 7 Jan 2016 07:47:37 +0000 (18:47 +1100)]
glmemory: expose gst_gl_memory_texsubimage
Removes extremely similar code from glmemorypbo.
Matthew Waters [Thu, 7 Jan 2016 07:05:23 +0000 (18:05 +1100)]
glfeature add a specific debug category
Saves having to trawl through the 'default' category when function retrieval
goes wrong.
Bob Holcomb [Tue, 5 Jan 2016 19:35:11 +0000 (14:35 -0500)]
mpegtsmux: fix reserve bits so they are 1's
The MPEG standard (ISO-13880-1) says the reserve bits need to be set
to one (2.1.64). This is causing transport streams to fail validation
on some systems.
https://bugzilla.gnome.org/show_bug.cgi?id=760127
Luis de Bethencourt [Fri, 8 Jan 2016 17:11:09 +0000 (17:11 +0000)]
opencv: remove check for OpenCV version
After commit
64080e632, configure checks for all the header files that
should be available in OpenCV 2.3 and later. If any of these files isn't
there the OpenCV elements won't be part of the build.
No need to recheck for opencv2/legacy/legacy.hpp again in
gstpyramidsegment.h. Minimum supported OpenCV version must have this header
and configure already checks for it. Removing check.
Luis de Bethencourt [Fri, 8 Jan 2016 15:01:47 +0000 (15:01 +0000)]
opencv: always do cvsmooth in place
After the update to new OpenCV API the transform function using an out
buffer is not necessary. We can always do the transformation in place.
Luis de Bethencourt [Fri, 8 Jan 2016 12:39:29 +0000 (12:39 +0000)]
opencv: do pyramidsegment's transformation in place
Run the transform function of pyramidsegment in place, reusing the image
data as both source and destination in cvPyrSegmentation. This avoids
copying the image back and forth and the extra memory.
Thiago Santos [Thu, 7 Jan 2016 18:21:40 +0000 (15:21 -0300)]
tests: hlsdemux: add test for updating segment stop
Add a test for seeking that only updates stop position and verifies
that start is unmodified
Thiago Santos [Thu, 7 Jan 2016 18:21:22 +0000 (15:21 -0300)]
adaptivedemux: fix seeking that just updates stop position
Fixed adaptivedemux seeking without flushing that just wants
to update stop position. This required protecting the segment
variables with a new mutex so that the seeking thread and the
download threads could safely manipulate the segment and
events related to it.
This contention is only locked/unlocked when starting a new
download, when the first fragment of a segment is received and
when seeking so, hopefully, it won't damage performance.
Thiago Santos [Wed, 6 Jan 2016 19:51:08 +0000 (16:51 -0300)]
adaptivedemux: fix segment update on seeks
Fixes typo on reverse rate check and also only update the
position when the start/stop was actually changed.
Sebastian Dröge [Thu, 7 Jan 2016 16:10:49 +0000 (18:10 +0200)]
mxftypes: Don't store pointers in stack allocated guints
This works usually in this place, unless the compiler optimizes things in
interesting ways in which case it causes stack corruption and crashes later.
The compiler in question here is clang with -O1, which seems to pack the stack
a bit more and causes writing to the guint as pointer to overwrite map.memory,
which then later crashes during unmapping of the memory.
Sebastian Dröge [Thu, 7 Jan 2016 16:02:33 +0000 (18:02 +0200)]
mxfmetadata: Initialize boolean to FALSE to fix valgrind warning
Seems to be a false warning though.
Matthew Waters [Thu, 7 Jan 2016 03:08:39 +0000 (14:08 +1100)]
glsyncmeta: only flush with a shared context
The wait code will flush for us for single context pipelines.
Matthew Waters [Thu, 7 Jan 2016 03:02:52 +0000 (14:02 +1100)]
glcontext: implement checking whether a context has been shared
Some operations are unnecessary when running with only a single GL
context.
e.g. glFlush when setting a fence object as the flush happens on wait.
API: gst_gl_context_is_shared
Tim-Philipp Müller [Wed, 6 Jan 2016 14:54:30 +0000 (14:54 +0000)]
hlsdemux: put boolean values into gboolean variables
And remove superfluous assignments.
Sebastian Dröge [Wed, 6 Jan 2016 14:54:49 +0000 (16:54 +0200)]
player: Only set the pipeline to PLAYING in play() if buffering>=100%
Otherwise the application can break the buffering logic by setting the
pipeline to PLAYING before we buffered enough.
Thiago Santos [Tue, 5 Jan 2016 20:41:23 +0000 (17:41 -0300)]
tests: dashdemux: add tests for post-seek segment boundaries check
Checks if the post seek segment is what is expected.
Also makes it easy to add more tests with different seeking flags using the
same functions.
Thiago Santos [Tue, 5 Jan 2016 13:41:27 +0000 (10:41 -0300)]
tests: hlsdemux: add tests for seek with reverse rate and snap flags
Add tests to ensure snap flags work as expected for reverse
rates
Thiago Santos [Tue, 5 Jan 2016 13:39:11 +0000 (10:39 -0300)]
adaptivedemux: stop reverse playback when we reach the limit
Avoids downloading and pushing a full segment just to get 1 nanosecond
of data. This happens frequently when seeking is done with flags
that adjust to boundaries or when the start is aligned with segment
starts. The later is common when segment durations is a multiple of
a second.
Thiago Santos [Tue, 5 Jan 2016 12:16:45 +0000 (09:16 -0300)]
hlsdemux: fix reverse playback seek with snap flags
Properly handle snap flags during reverse seeking. In this case
the before/after are also reversed, so handle those as such.
For example: with a sequence of 1s fragments:
|-- 0 --|-- 1 --|-- 2 --|-- 3 --|
If you seek to 1.5s it is inside fragment 1. With reverse and
snap-before: should play from the end of fragment 1
snap-after: should play from the end of fragment 0
Thiago Santos [Tue, 5 Jan 2016 12:01:10 +0000 (09:01 -0300)]
adaptivedemux: correctly track segment.position in reverse playback
For reverse, set position to segment.stop when starting and also
don't set the position to fragment end timestamp when it finishes,
just leave it at the fragment start.
Thiago Santos [Tue, 5 Jan 2016 11:59:26 +0000 (08:59 -0300)]
hlsdemux: simplify snap flags checking
Replace:
if (boolean) var = true;
with:
var = (boolean);
Thiago Santos [Mon, 28 Dec 2015 05:18:06 +0000 (02:18 -0300)]
hlsdemux: respect keyunit flag for position
Set the segment start position when keyunit flag is active
Thiago Santos [Thu, 24 Dec 2015 21:49:39 +0000 (18:49 -0300)]
tests: hls_demux: add tests for seeking segment
Tests that check that the segment sent after a seek is correct.
Allows testing that multiple seeking flags work as expected
Thiago Santos [Thu, 24 Dec 2015 12:27:33 +0000 (09:27 -0300)]
tests: adaptive_demux: add function to be able to check demuxer events
Allows writing tests that verify that events are correct.
Useful to monitor and check segments after seeks, for example.
Thiago Santos [Wed, 23 Dec 2015 18:25:29 +0000 (15:25 -0300)]
tests: adaptive: update to allow more flexible seeking tests
Allows defining a seek event to be able to change seeking parameters
and create more seeking test scenarios
Thiago Santos [Wed, 23 Dec 2015 18:23:27 +0000 (15:23 -0300)]
tests: hlsdemux: fix makefile variable typo
Alessandro Decina [Wed, 6 Jan 2016 05:50:00 +0000 (16:50 +1100)]
applemedia: avfvideosrc: enable renegotiation
We can actually renegotiate now, so remove old check which disabled it.
Matthew Waters [Wed, 6 Jan 2016 05:25:38 +0000 (16:25 +1100)]
glcolorconvert: implement usage of a buffer pool
Saves unnecessary glGenTextures and glDeleteTextures which may have a
non-trivial cost.
Matthew Waters [Wed, 6 Jan 2016 04:50:07 +0000 (15:50 +1100)]
glbasememory: fix copying GstGLAllocationParams
Fixes a GST_IS_GL_CONTEXT critical
Matthew Waters [Wed, 6 Jan 2016 04:44:52 +0000 (15:44 +1100)]
glmemorypbo: remove unused code
https://bugzilla.gnome.org/show_bug.cgi?id=759679
Alessandro Decina [Wed, 6 Jan 2016 02:20:17 +0000 (13:20 +1100)]
applemedia: avfvideosrc: small negotiation fix
Fix negotiation when GLMemory is requested but a context is not available
Alessandro Decina [Wed, 6 Jan 2016 00:40:38 +0000 (11:40 +1100)]
applemedia: vtenc: accept UYVY on Mac
When doing GLMemory avfvideosrc negotiates UYVY. This change allows avfvideosrc
! tee name=t ! ... ! glimagesink t. ! ... ! gldownload ! vtenc_h264 ! ...
to do GLMemory and 0-copy with the encoder (with the CV meta).
Alessandro Decina [Wed, 6 Jan 2016 00:29:15 +0000 (11:29 +1100)]
applemedia: avfvideosrc: change texture format from BGRA to NV12 on iOS
Change texture format from BGRA to NV12. This allows a pipeline like avfvideosrc
! tee name=t ! ... ! glimagesink t. ! ... ! gldownload ! vtenc_h264 ! ... to
negotiate GLMemory. This makes the glimagesink branch much faster (obviously)
and triggers the 0-copy path between avfvideosrc and vtenc (using the CV meta).
Combined this results in a huge perf improvement on iOS (25-30% of CPU time in a
pipeline like the one above).
Note that this doesn't introduce a new shader conversion in the sink, since BGRA
textures had to be copied/converted from format=BGRA,texture-target=RECTANGLE to
format=RGBA,texture-target=2D anyway.
Matthew Waters [Mon, 4 Jan 2016 09:26:09 +0000 (20:26 +1100)]
glupload: always add texture-target field to GL caps
1. Various elements/base classes only perform a subset check on accept-caps
2. Some GL elements have texture-target in their pad template
3. When checking subsets, only the caps to check are allowed to contain extra
fields. If the 'template' caps have extra fields, the subset fails.
Thus without texture-target on the caps, various accept-caps implementations
were failing.
Also, add some convenience functions for setting and retrieving
texture targets to/from GValue.
https://bugzilla.gnome.org/show_bug.cgi?id=759860
Matthew Waters [Tue, 29 Dec 2015 07:16:04 +0000 (18:16 +1100)]
glupload: passthrough composition caps features
Don't unconditionally add it to any and all caps transformations.
https://bugzilla.gnome.org/show_bug.cgi?id=759860
Sebastian Dröge [Mon, 4 Jan 2016 07:52:47 +0000 (09:52 +0200)]
player: Remove gst_player_new() and make gst_player_new_full() the normal constructor
In very few cases the simple version was actually needed and having the
parameters hidden by a _full() version caused application that actually needed
it to not use it.
Jan Schmidt [Sun, 3 Jan 2016 14:03:08 +0000 (01:03 +1100)]
glviewconvert: Fix stereoscopic handling w/ texture-target
The addition of texture-target negotiation broke stereoscopic
handling when not in passthrough mode, so fix that.
Hyunjun Ko [Wed, 7 Oct 2015 09:53:43 +0000 (18:53 +0900)]
sdpdemux: replace duplicated codes to call new base sdp apis
https://bugzilla.gnome.org/show_bug.cgi?id=745880
Reynaldo H. Verdejo Pinochet [Thu, 31 Dec 2015 02:00:47 +0000 (18:00 -0800)]
rtmp: refer to both elements in the README
Reynaldo H. Verdejo Pinochet [Tue, 29 Dec 2015 22:35:14 +0000 (14:35 -0800)]
rtmpsrc: check for failed RTMP context alloc
Avoids an unlikely crash.
Arguably, if allocation fails we have no chance of
recovering but nonetheless, RTMP_Alloc can fail and
librtmp's RTMP_init() (called next) assumes a non-NULL
pointer is passed without checking.
Additionally, unify exit path on error.
Reynaldo H. Verdejo Pinochet [Tue, 29 Dec 2015 22:16:58 +0000 (14:16 -0800)]
rtmpsink: check for failed RTMP context alloc
Avoids an unlikely crash.
Arguably, if allocation fails we have no chance of
recovering but nonetheless, RTMP_Alloc can fail and
librtmp's RTMP_init() (called next) assumes a non-NULL
pointer is passed without checking.
Additionally, unify exit path on error.
Reynaldo H. Verdejo Pinochet [Tue, 29 Dec 2015 19:58:31 +0000 (11:58 -0800)]
rtmp: correct librtmp log-level mappings
Additionally, move to a switch in _set_debug_level()
to make easier to follow and compare with the
mappings in _log_callback()
Tim-Philipp Müller [Wed, 30 Dec 2015 13:16:40 +0000 (13:16 +0000)]
codecparsers: vp9: minor clean-up
Remove setting of parser variable to NULL after free,
that makes no sense (and coverity is no doubt going
to complain about it).
Tim-Philipp Müller [Wed, 30 Dec 2015 13:12:13 +0000 (13:12 +0000)]
codecparsers: vp9: fix macro namespacing and rename GstVp9InterpFilter
Tim-Philipp Müller [Wed, 30 Dec 2015 13:08:30 +0000 (13:08 +0000)]
codecparsers: vp9: fix doc typos and sprinkle some Since markers
Tim-Philipp Müller [Wed, 30 Dec 2015 11:03:04 +0000 (11:03 +0000)]
codecparsers: vp9: move license blurb into header and remove aux files
This is just a bunch of lookup tables..
Sebastian Dröge [Wed, 30 Dec 2015 09:54:25 +0000 (11:54 +0200)]
win32: Update libgstcodecparsers.def with the new symbols
Sebastian Dröge [Wed, 30 Dec 2015 09:54:14 +0000 (11:54 +0200)]
codecparsers: Add another G_GNUC_INTERNAL
Sebastian Dröge [Wed, 30 Dec 2015 09:40:59 +0000 (11:40 +0200)]
codecparsers: Spread some G_GNUC_INTERNAL in various places
Sebastian Dröge [Wed, 30 Dec 2015 09:38:14 +0000 (11:38 +0200)]
vp9parser: Fix indentation to make gst-indent happier
Sebastian Dröge [Wed, 30 Dec 2015 09:36:45 +0000 (11:36 +0200)]
vp9parser: Rename symbols to prevent symbol conflicts
Also make clamp() a static function for the same reason and use CLAMP (as
defined by GLib) in the GStreamer code.
Sreerenj Balachandran [Wed, 30 Dec 2015 09:19:33 +0000 (11:19 +0200)]
codecparsers: Add VP9 codec parser
https://bugzilla.gnome.org/show_bug.cgi?id=757597
Matthew Waters [Wed, 30 Dec 2015 01:12:17 +0000 (12:12 +1100)]
glmemorypbo: fix wrapping data on GL 2.1
GL 2.1 only supports pbo upload.
The wrapped data pointer was only being set on the pbo memory and on the
glmemory so when a download was requested (in GL 2.1), glmemory was
allocating a new data pointer and thus not returning the wrapped data.
Matthew Waters [Wed, 30 Dec 2015 01:11:09 +0000 (12:11 +1100)]
glmemorypbo: only create a pbo memory if the context actually supports it
e.g. GL <= 2.0 does not support pbo usage and GL 2.1 only supports pbo upload.
Matthew Waters [Wed, 30 Dec 2015 01:09:29 +0000 (12:09 +1100)]
glmemory: small code reformat
makes the alloc_params selections fit on a single line.
Matthew Waters [Wed, 30 Dec 2015 01:06:17 +0000 (12:06 +1100)]
tests/glmemory: output data pointer values on failure
Allows quicker inspection of what failed.
Matthew Waters [Tue, 29 Dec 2015 06:04:57 +0000 (17:04 +1100)]
gleffects: fix shader compilation with legacy opengl
All the gleffects shaders can be run against a gles2 or a legacy opengl glsl
compiler but weren't being advertised as such.
Fixes gleffects under desktop opengl < 3.2.
Sebastian Dröge [Tue, 29 Dec 2015 16:01:30 +0000 (18:01 +0200)]
glbasememory: Remove bogus NULL check
CID 1346534
Alessandro Decina [Mon, 28 Dec 2015 23:57:36 +0000 (10:57 +1100)]
applemedia: avfvideosrc: output at highest fps/resolution by default
Fixate to the highest possible resolution and fps. Otherwise by default we end
up fixating at 2fps and the lowest supported resolution, which is hardly what
someone who bought an overpriced smartphone wants.
Sebastian Dröge [Mon, 28 Dec 2015 13:53:59 +0000 (15:53 +0200)]
gl: Add \0 terminators for the Apple sync extension
Otherwise GL initialization might check for extensions forever and never finishes.
Sebastian Dröge [Mon, 28 Dec 2015 12:41:59 +0000 (14:41 +0200)]
glcontext: Add some debug output when the GL thread is actually running
Florin Apostol [Tue, 22 Dec 2015 11:23:19 +0000 (11:23 +0000)]
dashdemux: removed unnecessary space trimming in gst_dash_demux_parse_http_head
sscanf has removed all spaces when it has constructed zone string. There is
no need to search for leading spaces.
https://bugzilla.gnome.org/show_bug.cgi?id=759743
Florin Apostol [Mon, 21 Dec 2015 14:50:15 +0000 (14:50 +0000)]
dashdemux: accept 2 or 4 digit year when using HTTP HEAD for calculating clock compensation
Convert year from 2 digits to 4 digits in gst_dash_demux_parse_http_head
https://bugzilla.gnome.org/show_bug.cgi?id=759743
Also updated references to Rfc822 to Rfc5322
Florent Thiéry [Sun, 27 Dec 2015 10:37:09 +0000 (11:37 +0100)]
glshader: fix usage doc
The property location has been changed in favor of vertex/fragment
string properties; the doc had not been updated and was still referring
to the previous property; also, now the #version header has become mandatory
https://bugzilla.gnome.org/show_bug.cgi?id=759902
Florent Thiéry [Sat, 26 Dec 2015 21:34:29 +0000 (22:34 +0100)]
glimagesink: Post unhandled navigation events on the bus
Based off xvimagesink implementation
https://bugzilla.gnome.org/show_bug.cgi?id=759869
Reynaldo H. Verdejo Pinochet [Mon, 28 Dec 2015 06:32:22 +0000 (22:32 -0800)]
motioncells: fix splitting of RGB color string
No need to attempt splitting the RGB string in 255 tokens
if we only expect 3.
Left max_tokens at 4 to preserve the current logic (which
allows for extra stuff at the end) and added a warning on
parsing failure instead of silently discarding the value.
Reynaldo H. Verdejo Pinochet [Mon, 28 Dec 2015 05:23:37 +0000 (21:23 -0800)]
motioncells: fix typo in header
Reynaldo H. Verdejo Pinochet [Mon, 28 Dec 2015 05:19:19 +0000 (21:19 -0800)]
motioncells: fix misleading warning message
calculate_motion != FALSE means the motion computation
logic is disabled, not a mapping error.
Reynaldo H. Verdejo Pinochet [Mon, 28 Dec 2015 05:11:18 +0000 (21:11 -0800)]
motioncells: rework property descriptions
Reynaldo H. Verdejo Pinochet [Sun, 27 Dec 2015 09:11:42 +0000 (01:11 -0800)]
motioncells: use NULL instead of g_strdup(NULL)
Vineeth TM [Mon, 28 Dec 2015 00:04:12 +0000 (09:04 +0900)]
glbufferpool: Fix build error
When GST_GL_HAVE_PLATFORM_EGL is not defined, then info variable
will not be used and this results in build error
https://bugzilla.gnome.org/show_bug.cgi?id=759913
Sebastian Dröge [Thu, 24 Dec 2015 14:28:26 +0000 (15:28 +0100)]
Back to development
Sebastian Dröge [Thu, 24 Dec 2015 13:28:42 +0000 (14:28 +0100)]
Release 1.7.1
Sebastian Dröge [Thu, 24 Dec 2015 13:00:54 +0000 (14:00 +0100)]
Update .po files
Sebastian Dröge [Thu, 24 Dec 2015 11:23:00 +0000 (12:23 +0100)]
po: Update translations
Tim-Philipp Müller [Wed, 23 Dec 2015 23:13:21 +0000 (23:13 +0000)]
tests: fix indentation
Tim-Philipp Müller [Wed, 23 Dec 2015 23:10:50 +0000 (23:10 +0000)]
tests: pcapparse: add check for 0-sized packets
https://bugzilla.gnome.org/show_bug.cgi?id=756573
Tim-Philipp Müller [Wed, 23 Dec 2015 20:24:46 +0000 (20:24 +0000)]
pcapparse: don't crash on 0-sized packets
https://bugzilla.gnome.org/show_bug.cgi?id=756573
Sebastian Dröge [Wed, 23 Dec 2015 12:06:45 +0000 (13:06 +0100)]
Update common
Sebastian Dröge [Wed, 23 Dec 2015 12:04:23 +0000 (13:04 +0100)]
player: Add pkg-config files
Sebastian Dröge [Wed, 23 Dec 2015 11:16:54 +0000 (12:16 +0100)]
autogen.sh: Enable player tests by default
This will be automatically be updated together with the next common update
again.
Sebastian Dröge [Wed, 23 Dec 2015 08:55:26 +0000 (09:55 +0100)]
player: Add unit test that is disabled by default
The unit test is downloading a few small media files from the Internet,
which are then used during the test. "make clean" removes the files again.
Sebastian Dröge [Tue, 22 Dec 2015 13:44:28 +0000 (14:44 +0100)]
player: Integrate into the documentation build system
Sebastian Dröge [Tue, 22 Dec 2015 13:24:00 +0000 (14:24 +0100)]
player: Import GstPlayer playback convenience API
Based on https://github.com/sdroege/gst-player
commit
9ce6ae0dbb8eeeefaf794cfae80e279a03cc598d
Sebastian Dröge [Wed, 23 Dec 2015 08:50:13 +0000 (09:50 +0100)]
glmemorypbo: Comment out unused functions to fix compilation with clang
It's not clear if these are intentionally unused or the code should be
changed, but this fixes compilation for the time being at least.
See https://bugzilla.gnome.org/show_bug.cgi?id=759679
Alex Ashley [Tue, 10 Nov 2015 16:25:53 +0000 (16:25 +0000)]
hlsdemux: tests: check URL joining if media URL contains a '/' character
If the query parameter (for example
http://example.net/1054559_1500k.mp4/master.m3u8?acl=/*1054559_1500k.mp4),
check that m3u8.c correctly converts the relative URLs of the media
playlists in to absolute URLs. It must not use the last '/' it finds in
the URL, as according to RFC3986 the '/' character is allowed in
the query part of the URL.
https://bugzilla.gnome.org/show_bug.cgi?id=758384
Alex Ashley [Tue, 10 Nov 2015 16:23:59 +0000 (16:23 +0000)]
hlsdemux: unquote all the quoted-string attributes
The URI attribute from the EXT-X-KEY tag and the URI attribute from the
EXT-X-I-FRAMES-ONLY tag are both quoted-string attibutes that have their
quotation marks removed during parsing. The CODECS attribute of the
EXT-X-STREAM-INF is also a quoted-string attribute, but this attribute
was not being un-quoted.
This commit changes the parser to always unquote all quoted-string
attributes and adjusts the unit tests to this new bevahiour for the
CODECS attribute.
An additional test is added to check that parsing of all of the fields
in the EXT-X-STREAM tag is correct, including those that contain comma
characters.
https://bugzilla.gnome.org/show_bug.cgi?id=758384
Alex Ashley [Tue, 10 Nov 2015 16:41:02 +0000 (16:41 +0000)]
hlsdemux: tests: add unit tests for hlsdemux
Using the new GstAdaptiveDemux test framework, add tests that
exercise hlsdemux. The following tests are added:
simpleTest
A simple playlist that contains some media URLs
testMediaPlaylist
A master playlist with a variant playlist that contains media URLs
testMediaPlaylistNotFound
A master playlist that points to a missing variant playlist
testFragmentNotFound
A master playlist with a variant playlist that contains media URLs
There is a missing media file referenced from the variant playlist.
testFragmentDownloadError
A master playlist with a variant playlist that contains media URLs
During the download of one media file, the test simulates the network
connection being dropped.
testSeek
A simple test of trying to perform a seek on an HLS stream.
Alex Ashley [Tue, 10 Nov 2015 13:13:35 +0000 (13:13 +0000)]
dashdemux: tests: Refactor into adaptive_engine components
To allow code from dash_demux.c to be used by other elements
that are based upon GstAdaptiveDemux, the code has been
refactored into four new files:
adaptive_demux_engine.[ch]
adaptive_demux_common.[ch]
The code in adaptive_demux_engine.c provides a generic
test engine for elements based upon GstAdaptiveDemux.
The code in adaptive_demux_common.c provides a set
of utility functions that are common between the tests
for hlsdemux and dashdemux.
As part of the refactoring, variables in structures were
renamed from using camelCase to underscore_case to match other
GStreamer source code.
The fake_http_src was renamed test_http_src and changed to use
callbacks to provide input data and error conditions. Rather than
using an array of input data that tries to encode all the
possible use cases for the GstTestHTTPSrc element, use a struct of
callbacks.
Users of this element are obliged to implement at least the src_start
callback, which provides a way to link from a URI to the settings
for that URI.
Matthew Marsh [Tue, 22 Dec 2015 09:10:31 +0000 (11:10 +0200)]
nvenc: fix high CPU use on initialization of multiple encoders at the same time
We need a static lock to protect various NVENC methods in _set_format(). Without
this the CPU use increases dramatically on initialisation of the element when
there are multiple elements being initialised at the same time.
https://bugzilla.gnome.org/show_bug.cgi?id=759742
Thiago Santos [Tue, 22 Dec 2015 13:15:39 +0000 (10:15 -0300)]
hlsdemux: make sure every bad update_playlist return sets an error
Otherwise it segfaults when reporting the error in the bus
Sebastian Dröge [Mon, 21 Dec 2015 12:57:04 +0000 (13:57 +0100)]
teletextdec: Use NULL instead of g_strdup('\0')
Which is equivalent to g_strdup(NULL).
https://bugzilla.gnome.org/show_bug.cgi?id=759728
Sebastian Dröge [Mon, 21 Dec 2015 11:33:25 +0000 (12:33 +0100)]
configure: Use -Bsymbolic-functions if available
While this is more useful for libraries, some of our plugins with multiple
files and some internal API can also benefit from this.
Sebastian Dröge [Mon, 21 Dec 2015 11:19:11 +0000 (12:19 +0100)]
glcolorconvert: Fix name of testsuite
Sebastian Dröge [Mon, 21 Dec 2015 11:13:15 +0000 (12:13 +0100)]
glcontext: Signal context creation from inside the context loop and use g_thread_join() instead of a custom condition variable
Also protect against spurious condition variable wakeups during context
creation.
Sebastian Dröge [Mon, 21 Dec 2015 10:27:09 +0000 (11:27 +0100)]
glwindow: Hide navigation specific internal API and add API to asynchronously send navigation events
Exposing the navigation thread's main context, GSourceFuncs and structs called
key_event and mouse_event is exposing a bit too much of the internals. Let's
just go with two functions to asynchronously send navigation events on the
window with the same API as the synchronous ones.
Sebastian Dröge [Mon, 21 Dec 2015 09:46:52 +0000 (10:46 +0100)]
glwindow: Use g_thread_join() instead of a custom condition variable for waiting for the navigation thread to finish
Also hide some internal functions and fields while we're at it and fix
a race condition with the startup condition variable.
Haihua Hu [Mon, 30 Nov 2015 01:36:09 +0000 (09:36 +0800)]
glwindow: Fix memory leak of navigation thread
When stopping the navigation thread, call g_thread_join() to release
the resources hold by it.
https://bugzilla.gnome.org/show_bug.cgi?id=758820
Tim-Philipp Müller [Sat, 19 Dec 2015 21:25:49 +0000 (21:25 +0000)]
assrender, dvbsuboverlay: fix example pipelines in docs
Tim-Philipp Müller [Sat, 19 Dec 2015 21:10:56 +0000 (21:10 +0000)]
hlsdemux: reflow update_playlist a bit
Reduce indentation by erroring out directly on failure.