Matthew Waters [Mon, 8 Feb 2016 03:32:10 +0000 (14:32 +1100)]
vulkan: move instance_open into the utility ensure_element_data
So callers don't have to perform it themselves.
Matthew Waters [Mon, 8 Feb 2016 03:25:49 +0000 (14:25 +1100)]
vkinstance: add signal for overriding device creation
Matthew Waters [Mon, 8 Feb 2016 01:22:11 +0000 (12:22 +1100)]
vulkan: separate allocation and binding of memory
Matthew Waters [Mon, 8 Feb 2016 01:14:44 +0000 (12:14 +1100)]
vkbuffermemory: follow the rest of the struct macros
Matthew Waters [Fri, 5 Feb 2016 08:31:49 +0000 (19:31 +1100)]
vkswapper: use buffer memory to upload video frames to the GPU
Matthew Waters [Fri, 5 Feb 2016 08:18:40 +0000 (19:18 +1100)]
vulkan: add a buffer memory allocator
Wraps the VkBuffer in a GstMemory subclass.
Matthew Waters [Fri, 5 Feb 2016 08:11:51 +0000 (19:11 +1100)]
vkmemory: align struct members in the header
Matthew Waters [Fri, 5 Feb 2016 08:10:43 +0000 (19:10 +1100)]
vkmacros: use specific _INIT macros to initialize structures
Matthew Waters [Fri, 5 Feb 2016 08:09:41 +0000 (19:09 +1100)]
vkimagememory: add get_{width,height) functions
Matthew Waters [Wed, 27 Jan 2016 04:20:49 +0000 (15:20 +1100)]
vulkan: update to release 1.0.1.1
Matthew Waters [Fri, 22 Jan 2016 03:34:06 +0000 (14:34 +1100)]
vulkan/xcb: flush after mapping the window
Otherwise the map may not reach the server and not appear.
Matthew Waters [Mon, 4 Jan 2016 05:51:26 +0000 (16:51 +1100)]
vkswapper: fix semaphore usage
Matthew Waters [Thu, 31 Dec 2015 05:34:24 +0000 (16:34 +1100)]
vulkan: add some debugging about the supported extensions
Matthew Waters [Thu, 31 Dec 2015 04:58:37 +0000 (15:58 +1100)]
vkswapper: get the function pointers from the correct object
GetPhysicalDevice* functions are instance functions rather than device
functions.
Matthew Waters [Thu, 31 Dec 2015 04:38:37 +0000 (15:38 +1100)]
vkinstance: add the necessary winsys extension
Matthew Waters [Thu, 31 Dec 2015 04:34:45 +0000 (15:34 +1100)]
vkdisplay: forward declare GstVulkanDisplayType
Matthew Waters [Thu, 31 Dec 2015 04:32:15 +0000 (15:32 +1100)]
vkapi: remove unneeded headers
vkapi is for accessing the vulkan headers with the correct defines applied so
doesn't need any interal headers.
Matthew Waters [Wed, 30 Dec 2015 04:15:40 +0000 (15:15 +1100)]
vkimagememory: fix the memory barrier access masks
silences the following warnings from the validation layer
AccessMask xxx must have required access bit xxx and may have optional bits 0
when layout is VK_IMAGE_LAYOUT_TRANSFER_{SRC,DST}_OPTIMAL
Matthew Waters [Wed, 30 Dec 2015 04:14:23 +0000 (15:14 +1100)]
vkswapper: only wait on the semaphore once
It's invalid usage and we may deadlock
Matthew Waters [Wed, 30 Dec 2015 14:27:54 +0000 (01:27 +1100)]
vkimagememory: initialize flags and don't crash on errors
Matthew Waters [Wed, 30 Dec 2015 03:06:01 +0000 (14:06 +1100)]
vulkan: update error db for 0.10.2
Matthew Waters [Tue, 29 Dec 2015 05:05:17 +0000 (16:05 +1100)]
vulkan: update to SDK 0.10.2
Matthew Waters [Mon, 7 Dec 2015 06:33:43 +0000 (17:33 +1100)]
vulkan: implement GstContext helpers
Based off libgstgl's implementation
Matthew Waters [Mon, 7 Dec 2015 06:21:12 +0000 (17:21 +1100)]
vkdevice: remove gst_vulkan_device_close()
When sharing the device between multiple elements/application, we need
to use th erefcount to know when to close the device.
Matthew Waters [Mon, 7 Dec 2015 06:00:37 +0000 (17:00 +1100)]
vkinstance: remove gst_vulkan_instance_close
Sharing the instance across multiple elements/application will require
using the refcount instead to know when to close and destroy the instance.
Matthew Waters [Mon, 7 Dec 2015 05:46:28 +0000 (16:46 +1100)]
vkswapper: remove outdated comment
Matthew Waters [Mon, 7 Dec 2015 05:39:53 +0000 (16:39 +1100)]
vkswapper: always match lock/unlock of the render lock
If a draw event comes from the winsys before we've rendered a buffer we were
deadlocking.
Matthew Waters [Wed, 2 Dec 2015 06:54:30 +0000 (17:54 +1100)]
vkmemory: debug output the memory properties requested
Matthew Waters [Wed, 2 Dec 2015 06:14:49 +0000 (17:14 +1100)]
vkimagememory: don't leak GstMapInfo in failure cases on _map()
Matthew Waters [Wed, 2 Dec 2015 06:10:39 +0000 (17:10 +1100)]
vulkan: de-C99 struct declarations
Matthew Waters [Tue, 1 Dec 2015 07:37:34 +0000 (18:37 +1100)]
vkwindow/swapper: implement redraw handling
only xcb has been implemented
Matthew Waters [Tue, 1 Dec 2015 05:28:28 +0000 (16:28 +1100)]
vulkan: implement quitting and resizing the window
As before, only xcb has been implemented.
Matthew Waters [Sat, 24 Oct 2015 06:29:05 +0000 (17:29 +1100)]
new vulkan based video sink
Currently xcb is the only winsys that is implemented and there's no redraws et
al
Tim-Philipp Müller [Tue, 16 Feb 2016 12:38:21 +0000 (12:38 +0000)]
tests: remove test files no longer needed
Tim-Philipp Müller [Tue, 16 Feb 2016 10:44:33 +0000 (10:44 +0000)]
mpg123: move plugin from -bad to -ugly
https://bugzilla.gnome.org/show_bug.cgi?id=719849
Matthew Waters [Tue, 16 Feb 2016 08:59:13 +0000 (19:59 +1100)]
gtk(gl)sink: remove the signal handlers on finalize
It's possible that the sink element will be freed before the widget is
destroyed. When the widget was eventually destroyed, it was attempting to
access member variables of the freed sink struct which resulted in undefined
behaviour.
Fix by disconnecting our signal on finalize.
https://bugzilla.gnome.org/show_bug.cgi?id=762098
Sebastian Dröge [Tue, 16 Feb 2016 06:48:23 +0000 (08:48 +0200)]
gl: Remove leftover g_prints
One was commented out, but we also don't use // comments :)
Matthew Waters [Tue, 16 Feb 2016 03:41:37 +0000 (14:41 +1100)]
gldebug: use the correct spelling for behavior
The headers use the american spelling of behavior not the UK/AUS version with
the extra U.
Matthew Waters [Tue, 16 Feb 2016 02:58:42 +0000 (13:58 +1100)]
glcontext: don't enable GL debug for messages that won't be logged
This is an optimization to avoid pointless string processing.
Alessandro Decina [Tue, 16 Feb 2016 02:01:20 +0000 (13:01 +1100)]
glvideoflip: don't ignore method changes when caps aren't set (yet)
Tim-Philipp Müller [Tue, 16 Feb 2016 00:33:50 +0000 (00:33 +0000)]
rtp: move RTP H.265 payloader/depayloader to -good
https://bugzilla.gnome.org/show_bug.cgi?id=761606
Stian Selnes [Wed, 7 Oct 2015 21:49:58 +0000 (23:49 +0200)]
netsim: Add netsim element
Resurrected from the Farstream repository and given an
overhaul to fix races, deadlocks etc.
https://bugzilla.gnome.org/show_bug.cgi?id=756252
Florin Apostol [Fri, 20 Nov 2015 19:38:03 +0000 (19:38 +0000)]
dashdemux: gst_dash_demux_get_live_seek_range returns positive values
https://bugzilla.gnome.org/show_bug.cgi?id=752374
Tim-Philipp Müller [Wed, 10 Feb 2016 10:31:19 +0000 (10:31 +0000)]
gl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way
Alessandro Decina [Wed, 10 Feb 2016 05:37:22 +0000 (16:37 +1100)]
gstglshader: cache uniform locations
Avoid redundant calls to glGetUniformLocation. The results can be cached once
the shader has been linked.
Alessandro Decina [Wed, 10 Feb 2016 04:40:02 +0000 (15:40 +1100)]
applemedia: videotesturecache: let CVOpenGLESTextureCache flush every 1s
Leave kCVOpenGLESTextureCacheMaximumTextureAgeKey to the default (1s). We used
to set it to 0 and flush manually, but apparently (looking at the GLES profiler)
0 means "disable the cache entirely".
Alessandro Decina [Wed, 10 Feb 2016 02:08:43 +0000 (13:08 +1100)]
gstglcontext: micro optimization to gst_gl_context_thread_add
Invoke the callback right away when called on the context thread. Removes
overhead when nesting libgstgl calls (for example when working with the sync
meta).
Julien MOUTTE [Wed, 6 Jan 2016 21:39:00 +0000 (21:39 +0000)]
rtpmsink: Implement setcaps that uses streamheader
This allow adding rtmpsink after the flv streaming have started. Otherwise,
FLV streamheader is never sent to the server, which cannot figure-out
what is this stream about. It should also help in certain renegotiation
figures. The sink will no longer work without an streamheader in caps,
though there is no known implementation of flvdemux that does not
support this.
https://bugzilla.gnome.org/show_bug.cgi?id=760242
Luis de Bethencourt [Tue, 9 Feb 2016 21:35:19 +0000 (21:35 +0000)]
mssdemux: remove unnecessary check
stream->current_fragment has the value of g_list_previous (iter) which has
just been checked. No need to check it again.
Just to be safe, use a g_assert() to check fragment before dereferencing.
CID #1352041
Thiago Santos [Tue, 9 Feb 2016 20:24:50 +0000 (17:24 -0300)]
dashdemux: plug mpd client leak
On parsing error, free the mpd client object
https://bugzilla.gnome.org/show_bug.cgi?id=760120
Florin Apostol [Mon, 4 Jan 2016 12:12:45 +0000 (12:12 +0000)]
dashdemux: fix memory leak in gst_dash_demux_update_manifest_data
new_client local variable was not freed in case of errors.
Also, the buffer is not unmapped.
https://bugzilla.gnome.org/show_bug.cgi?id=760120
Florin Apostol [Tue, 10 Nov 2015 22:01:38 +0000 (22:01 +0000)]
mpdparser: renamed gst_mpd_client_get_next_segment_availability_end_time to gst_mpd_client_get_next_segment_availability_start_time
The function actually returns the segment availability start time (as defined by the standard).
That is at the end of the segment, but it is called availability start time.
Availability end time is something else (the time when the segment is no longer
available on the server). The function name was misleading.
https://bugzilla.gnome.org/show_bug.cgi?id=757655
Florin Apostol [Tue, 10 Nov 2015 22:00:58 +0000 (22:00 +0000)]
mpdparser: corrected getting segment availability
https://bugzilla.gnome.org/show_bug.cgi?id=757655
Florin Apostol [Thu, 19 Nov 2015 15:30:34 +0000 (15:30 +0000)]
mpdparser: tests: added unit test for getting segment availability when segment timeline is used
https://bugzilla.gnome.org/show_bug.cgi?id=757655
Florin Apostol [Thu, 7 Jan 2016 12:50:06 +0000 (12:50 +0000)]
adaptive_demux: tests: improved validation of pads
When removing a pad, the on_demuxPadRemoved function must find a stream
for that pad.
https://bugzilla.gnome.org/show_bug.cgi?id=760328
Florin Apostol [Thu, 7 Jan 2016 12:48:12 +0000 (12:48 +0000)]
adaptive_demux: tests: fix pad used for AppSink event
on_demuxNewPad registered the on_appsink_event callback on a wrong pad.
https://bugzilla.gnome.org/show_bug.cgi?id=760328
Florin Apostol [Fri, 8 Jan 2016 16:25:12 +0000 (16:25 +0000)]
adaptivedemux: tests: remove unused demux_sent_eos callback
The demux_sent_eos callback is unused in tests. It was also registered on
a wrong pad, so it actually triggered when demux received eos from a
fragment download.
https://bugzilla.gnome.org/show_bug.cgi?id=760328
Florin Apostol [Fri, 8 Jan 2016 18:17:21 +0000 (18:17 +0000)]
adaptivedemux: tests: remove unneeded youtube xmlns from manifests
https://bugzilla.gnome.org/show_bug.cgi?id=760328
Alessandro Decina [Tue, 9 Feb 2016 03:07:54 +0000 (14:07 +1100)]
applemedia: vtdec: implement GstElement::set_context
Alessandro Decina [Tue, 9 Feb 2016 03:04:09 +0000 (14:04 +1100)]
applemedia: vtdec: update copyright
Alessandro Decina [Tue, 9 Feb 2016 02:42:48 +0000 (13:42 +1100)]
applemedia: avfvideosrc: implement GstElement::set_context
Needed to properly handle gst.gl.app_context(s).
Alessandro Decina [Tue, 9 Feb 2016 02:39:18 +0000 (13:39 +1100)]
applemedia: avfvideosrc: add myself to the copyright holders
Matthew Waters [Tue, 9 Feb 2016 02:56:32 +0000 (13:56 +1100)]
gl: update win32 .def file
Matthew Waters [Tue, 9 Feb 2016 02:08:21 +0000 (13:08 +1100)]
glsyncmeta: add compatibility definition for GL_TIMEOUT_IGNORED
Matthew Waters [Tue, 9 Feb 2016 01:14:04 +0000 (12:14 +1100)]
glsyncmeta: separate out gpu/cpu waits.
CPU waits are more expensive and are only required if the CPU is ever going to
access the data. GPU waits perform inter-context synchronisation and are cheaper
as they don't require CPU intervention.
Luis de Bethencourt [Mon, 8 Feb 2016 23:17:34 +0000 (23:17 +0000)]
adaptivedemux: remove overwritten value
ret is overwitten before used with the return of the subclass seek.
CID #1352044
Luis de Bethencourt [Mon, 8 Feb 2016 15:00:35 +0000 (15:00 +0000)]
resindvd: remove commented out include
Commit
211828979b8c10abf3c74d964bc698dbda4d497d removed rsnaudiomunge,
no need for this commented out include for a file that doesn't exist
anymore.
Luis de Bethencourt [Mon, 8 Feb 2016 14:26:46 +0000 (14:26 +0000)]
Revert "resindvd: get rid of _stdint.h include"
This reverts commit
0eff6e1991cb24cb65f07c481742782acaa8ec62.
Breaks the build when linking with dvdnav.h
Luis de Bethencourt [Mon, 8 Feb 2016 13:43:22 +0000 (13:43 +0000)]
x265enc: get rid of _stdint.h include
It was never needed since it doesn't use any standard integer fixed width
types. Only the Glib types.
Luis de Bethencourt [Mon, 8 Feb 2016 13:32:46 +0000 (13:32 +0000)]
resindvd: get rid of _stdint.h include
Piotr Drąg [Mon, 8 Feb 2016 11:44:53 +0000 (12:44 +0100)]
po: update POTFILES
https://bugzilla.gnome.org/show_bug.cgi?id=761704
Matthew Waters [Mon, 8 Feb 2016 01:23:12 +0000 (12:23 +1100)]
gleffects: identity: add the shader to the hash table
So that we don't recreate it every frame and leak memory.
https://bugzilla.gnome.org/show_bug.cgi?id=761578
Thiago Santos [Fri, 5 Feb 2016 23:02:22 +0000 (20:02 -0300)]
tests: extend the AM_TESTS_ENVIRONMENT from check.mak
To get the CK_DEFAULT_TIMEOUT defined for all tests
https://bugzilla.gnome.org/show_bug.cgi?id=761472
Thiago Santos [Fri, 5 Feb 2016 21:06:32 +0000 (18:06 -0300)]
Automatic update of common submodule
From e97c9bb to b64f03f
Luis de Bethencourt [Fri, 5 Feb 2016 15:34:51 +0000 (15:34 +0000)]
gstrtph265depay: keep consistency with rtph264depay
Use gst_rtp_drop_meta() and the same function prototype for
gst_rtp_copy_meta() to keep consistency with the RTP elements in
gst-plugins-good
Arun Raghavan [Fri, 5 Feb 2016 16:03:38 +0000 (21:33 +0530)]
tinyalsasink: Use glib CLAMP() instead of our own macro
Luis de Bethencourt [Fri, 5 Feb 2016 13:56:34 +0000 (13:56 +0000)]
rtph265depay: fix termination of access unit
Only consider the access unit complete when the next-occurring VCL NAL unit
has the first bit after its NAL unit header equal to 1.
David Waring [Tue, 2 Feb 2016 13:50:25 +0000 (13:50 +0000)]
adaptivedemux: Update position in stream->segment for new stream segment message.
https://bugzilla.gnome.org/show_bug.cgi?id=761458
Arun Raghavan [Fri, 5 Feb 2016 10:13:22 +0000 (15:43 +0530)]
tinyalsasink: Limit period size and count to what the h/w permits
Matthew Waters [Thu, 4 Feb 2016 23:43:49 +0000 (10:43 +1100)]
gl: add .def file for msvc builds
Also internalize some API from being exported.
Thiago Santos [Tue, 2 Feb 2016 20:02:41 +0000 (17:02 -0300)]
tests: mssdemux: add unit tests
Adds unit tests similar to the ones that we have for DASH and HLS.
Tests:
* manifest parsing finishes successfully
* some queries (duration, seekable, latency)
* seeking with various values and flags
Thiago Santos [Tue, 2 Feb 2016 19:54:10 +0000 (16:54 -0300)]
mssdemux: implement snap seeking
Implement snap seek flags handling in stream_seek to allow the
parent class to handle it for us
https://bugzilla.gnome.org/show_bug.cgi?id=759158
Thiago Santos [Tue, 2 Feb 2016 19:51:22 +0000 (16:51 -0300)]
mssdemux: use correct seek position on reverse seeks
Otherwise it was always using the 'start' value, leading to wrong
behavior
Thiago Santos [Tue, 2 Feb 2016 14:30:31 +0000 (11:30 -0300)]
mssdemux: only update download position if the seek requests to
Some seeks are only updating the stop position, there is no need
to change the current downloading position.
Thiago Santos [Tue, 2 Feb 2016 12:52:17 +0000 (09:52 -0300)]
mssdemux: do not assert on fragment reloads for non-live
It can be used as a resource to verify if the server has updated
something in the Manifest when downloads are failing
Thiago Santos [Wed, 27 Jan 2016 13:48:53 +0000 (10:48 -0300)]
tests: dashdemux: add tests for snap flags seeking
Similar to HLS but DASH has the extra issue that it can have
multiple streams so snapping can be tricky as streams usually
won't be aligned.
For now, those tests handle the case of only having a single
stream.
https://bugzilla.gnome.org/show_bug.cgi?id=759158
Thiago Santos [Mon, 1 Feb 2016 13:49:23 +0000 (10:49 -0300)]
dashdemux: implement snap seek handling
Handle snap seeking at the stream_seek method and let superclass
do the rest to support snap seeking
https://bugzilla.gnome.org/show_bug.cgi?id=759158
Thiago Santos [Wed, 27 Jan 2016 16:31:10 +0000 (13:31 -0300)]
adaptivedemux: handle snap seeks
Adaptive demuxers need to start downloading from specific positions
(fragments) for every stream, this means that all streams can snap-seek
to a different position when requested. Snap seeking in this case will
be done in 2 steps:
1) do the snap seeking on the pad that received the seek event and
get the final position
2) use this position to do a regular seek on the other streams to
make sure they all start from the same position
More arguments were added to the stream_seek function, allowing better control
of how seeking is done. Knowing the flags and the playback direction allows
subclasses to handle snap-seeking.
And also adds a new return parameter to inform of the final
selected seeking position that is used to align the other streams.
https://bugzilla.gnome.org/show_bug.cgi?id=759158
Thiago Santos [Wed, 27 Jan 2016 02:43:24 +0000 (23:43 -0300)]
adaptivedemux: add utility function to get stream from pad
Simplifies the code a bit and avoid repeating this
common operation
Luis de Bethencourt [Thu, 4 Feb 2016 12:50:43 +0000 (12:50 +0000)]
h264parse: remove unused mview_mode value
Since commit
b77f8e172a3f0be6be5cb4a72e654253404e694f the new value
assigned to mview_mode hasn't been used. That commit changed the following
"if" check to an "else if", which means the original value of mview_mode
is used.
Luis de Bethencourt [Thu, 4 Feb 2016 12:17:31 +0000 (12:17 +0000)]
glquery: remove unnecessary pointer check
All uses of query->context in gstglquery.c assume it exists. We can assume
this as well before unrefing it. Furthermore, gst_object_unref() will just
silently return if it ever were to not exist.
Matthew Waters [Thu, 4 Feb 2016 07:15:56 +0000 (18:15 +1100)]
h265parse: avoid sending unnecessary downstream caps queries/events
h265 versions of the following commits:
f352691a04896d0de3381fe8ee85ada948bd6337
try the current caps before querying downstream
72bc7d7f736a10117fedb8e1d4013a4946cfefbc
increase caps equality check for no codec_data
https://bugzilla.gnome.org/show_bug.cgi?id=761014
Matthew Waters [Thu, 4 Feb 2016 05:36:28 +0000 (16:36 +1100)]
h264parse: increase caps equality check for no codec_data
When converting from avc to byte-stream, there will not be any codec_data
in the src caps. Remove it before the equality check to avoid sending caps
events downstream on every SPS/PPS change.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
Matthew Waters [Thu, 4 Feb 2016 04:34:04 +0000 (15:34 +1100)]
h264parse: try the current caps before querying downstream
If we have a stream that contains an unchanging SPS/PPS for every video frame,
we don't need to to constantly query downstream for it's supported caps if the
current caps are compatible with the negotiated caps.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
Matthew Waters [Thu, 4 Feb 2016 06:31:03 +0000 (17:31 +1100)]
glbasefilter: enable qos by default
Improves the responsiveness of the pipeline when resources are close/above the
limitations of the hardware.
Any subclass that wishes not to enable qos can do so themselves.
https://bugzilla.gnome.org/show_bug.cgi?id=761519
Matthew Waters [Thu, 4 Feb 2016 04:11:15 +0000 (15:11 +1100)]
amcvideodec: pass the correct time value to wait_for_sync
When we are not waiting, we need to pass -1 to signal that we just want to check
that the frame was/n't rendered. Avoids waiting for frames that will never be
rendered.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
Matthew Waters [Thu, 4 Feb 2016 04:07:44 +0000 (15:07 +1100)]
amcvideodec: advance the ready counter ourselves when render=FALSE
When not rendering the video frame, e.g. when freeing an unreleased sync frame,
we will not receive a frame listener callback.
Reduces the amount of 'on_frame_available miss detected' messages when dropping
frames.
https://bugzilla.gnome.org/show_bug.cgi?id=761014
Jan Schmidt [Thu, 4 Feb 2016 03:25:12 +0000 (14:25 +1100)]
decklinkaudiosrc: Fix discont tracking
Don't reset the marker that's tracking disconts until
either the discont disappears or we resync.
Tim-Philipp Müller [Wed, 3 Feb 2016 21:22:28 +0000 (21:22 +0000)]
Remove ancient and dead cdrom control plugin
This was never even ported to 0.10, and I don't think
it's particularly useful, since it's just a control
interface really. Let's remove it.
Tim-Philipp Müller [Wed, 3 Feb 2016 21:16:18 +0000 (21:16 +0000)]
docs: remove some leftover 'Since 0.10.x' markers