Thibault Saunier [Tue, 5 Jun 2018 18:11:13 +0000 (14:11 -0400)]
webrtc: Fix wrong parent classes for DTLSTransport and ICETransport
Those are GObjects not GstBins
Lyon Wang [Mon, 4 Jun 2018 08:35:41 +0000 (16:35 +0800)]
player: Fix duration-changed CRITICAL warning if duration did not actually change
Check if duration is changed before emitting duration-changed signal
https://bugzilla.gnome.org/show_bug.cgi?id=796491
Jan Schmidt [Fri, 1 Jun 2018 07:07:19 +0000 (17:07 +1000)]
dvb: Fix typo in comment termination
Alessandro Decina [Fri, 1 Jun 2018 06:37:13 +0000 (16:37 +1000)]
dvb: update my email address
Alessandro Decina [Fri, 1 Jun 2018 06:30:12 +0000 (16:30 +1000)]
dvb: camconditionalaccess: fix wrong license headers
Update the license blurb in camconditionalaccess.[hc] from GPL to LGPL.
The plugin is LGPL and the GPL header in those two files was just a
copy/paste mistake.
Edward Hervey [Fri, 1 Jun 2018 06:20:21 +0000 (08:20 +0200)]
gitignore: Add h265parser test
Sreerenj Balachandran [Fri, 1 Jun 2018 02:21:58 +0000 (18:21 -0800)]
codecparsers: mpeg2: don't mess the StartCode only packets
It is completely legal to have packets with zero sizes.
Zero-sized packet indicates header with only Start Code.
One eg: is user data packet. The patch allows having
GstMpegVideoPacket with zero sizes.
https://bugzilla.gnome.org/show_bug.cgi?id=796477
Sreerenj Balachandran [Thu, 31 May 2018 00:27:37 +0000 (16:27 -0800)]
msdk: vpp: don't use NV12 as vpp default output for DMABuf usecase
Using NV12 layout in dmabuf mode giving mis-aligned
VPP output with the media-driver. Keep the NV12 support
(so that we can file the bug agianst msdk or mediadriver),
but lower the ordering so that BGRA picks as default.
NV12 issue can be reproduced with explicit capfilter:
vidoetestsrc ! msdkvpp ! video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink
Sreerenj Balachandran [Thu, 31 May 2018 00:26:27 +0000 (16:26 -0800)]
msdk: enc: Add supprot for dmabuf-import
MediaSDK requires all the input buffers to be
pre-allocated during init phase and this won't work with
current design of GStreamer or gst-msdk. But this can be
done in future once we have a solution for:
https://bugzilla.gnome.org/show_bug.cgi?id=795747
There is a workaround possible as per
https://github.com/Intel-Media-SDK/MediaSDK/issues/155#issuecomment-
381790504
by faking the mem-id during MFXInit.
This patch enabling it in gst-msdk by replacing the MemID of mfxSurface
with dmabuf-backed vasurface dynamically.
Important: v4l2 ! msdkenc won't work without a copy because
of the GMMLib (https://github.com/intel/gmmlib) memory restrictions.
https://bugzilla.gnome.org/show_bug.cgi?id=794817
Sreerenj Balachandran [Thu, 31 May 2018 00:24:24 +0000 (16:24 -0800)]
msdk: vpp: Add supprot for dmabuf-import
MediaSDK requires all the input and output buffers to be
pre-allocated during init phase and this won't work with
current design of GStreamer or gst-msdk. But this can be
done with https://bugzilla.gnome.org/show_bug.cgi?id=795747
There is a workaround possible as per
https://github.com/Intel-Media-SDK/MediaSDK/issues/155#issuecomment-
381790504
by faking the mem-id during MFXInit.
This patch do this in gst-msdk by replacing the MemID of mfxSurface
with dmabuf-backed vasurface dynamically.
Important: v4l2 ! msdkvpp won't work without a copy because
of the GMMLib (https://github.com/intel/gmmlib) memory restrictions.
https://bugzilla.gnome.org/show_bug.cgi?id=794817
Sreerenj Balachandran [Thu, 31 May 2018 00:23:44 +0000 (16:23 -0800)]
msdk: Add method to replace internal VASurface of mfxFrameSurface
Added a utility method to replace the MemID (interanl VASurfaceID)
associated with the mfxFrameSurface. This is usefull for dmabuf-import
where we need to replace the memID dynamically
https://bugzilla.gnome.org/show_bug.cgi?id=794817
Sreerenj Balachandran [Thu, 31 May 2018 00:22:49 +0000 (16:22 -0800)]
msdk: Add method to export dmabuf to VASurface
Exporting DRM_PRIME fd to VASurface requires direct
invocation of VA api VACreateSurface with
VASurfaceAttribExternalBufferDescriptor and other
necessary surface attributes.
https://bugzilla.gnome.org/show_bug.cgi?id=794817
Mathieu Duponchelle [Tue, 29 May 2018 11:03:54 +0000 (13:03 +0200)]
webrtcbin: copy sticky events on our ghostpads
This lets users call gst_pad_get_current_caps on newly-added
pads to easily determine what to plug them into.
We cannot copy sticky events unconditionally in core,
see #719437
https://bugzilla.gnome.org/show_bug.cgi?id=796387
Hosang Lee [Mon, 10 Jul 2017 07:56:26 +0000 (16:56 +0900)]
adaptivedemux: Set connection-speed value as current download rate if set
If connection-speed property is in use, this value should be used as the
current download rate since subclasses might read it to figure out
which playlist variant they will use.
https://bugzilla.gnome.org/show_bug.cgi?id=784592
Edward Hervey [Mon, 28 May 2018 13:55:57 +0000 (15:55 +0200)]
closedcaption: Fix compilation without debugging
Edward Hervey [Wed, 11 Mar 2015 10:00:08 +0000 (18:00 +0800)]
ceaccoverlay: New CEA-708 Closed Caption decoder and overlayer
This new element allows decoding and overlaying CEA-708 Closed Caption
streams over video.
* Supports CDP and cc_data closedcaption/x-cea-708 streams
* Uses pango to render CC stream
* Support GstVideoOverlayComposition meta if downstream supports is
Tested on various test files.
Remains to be fixed/improved:
* Switch to GstByteReader (for code safety)
* Switch to GString (instead of manual pango string construction)
* Move pango/rendering code outside of main 708 decoder file (so
that actual CC parser/decoder can be (re)used in other scenarios).
Initial patches and improvements by:
* CableLabs RUIH-RI Team <ruihri@cablelabs.com>
* Steve Maynard <steve@secondstryke.com>
* cjun.wang" <cjun.wang@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=704881
Tim-Philipp Müller [Mon, 28 May 2018 13:16:48 +0000 (14:16 +0100)]
closedcaption: fix meson build
Edward Hervey [Mon, 19 Mar 2018 09:56:31 +0000 (10:56 +0100)]
closedcaption: Add new "line 21 VBI" CC decoder
Allows detecting and extracting CEA608 closed caption present on
the VBI of analog NTSC SD signals.
Edward Hervey [Mon, 19 Mar 2018 09:55:06 +0000 (10:55 +0100)]
closedcaption: zvbi: Add gst-debug category to zvbi code
And adapt their logging system to go through it
Edward Hervey [Mon, 19 Mar 2018 09:53:52 +0000 (10:53 +0100)]
closedcaption: zvbi: Disable unused legacy bit slicer
The code only uses the new 'optimized' bit slicer
Edward Hervey [Mon, 19 Mar 2018 09:52:08 +0000 (10:52 +0100)]
closedcaption: zvbi: Enforce strict line21 CC detection
zvbi switched to a lot more flexible CC detection in VBI.
The problem is that it returns a *lot* of non-VBI lines as containing
CC which isn't the case.
Edward Hervey [Thu, 22 Mar 2018 14:35:45 +0000 (15:35 +0100)]
closedcaption: zvbi: Comment out bogus redefinition
All this code should be converted to glib eventually, but for now
just comment out a function which isn't even used
Edward Hervey [Tue, 20 Mar 2018 08:01:25 +0000 (09:01 +0100)]
closedcaption: zvbi: Remove dead code
* RGB8 is never used
* some inline functions were never used
Edward Hervey [Thu, 15 Mar 2018 06:07:16 +0000 (07:07 +0100)]
closedcaption: Include zvbi raw vbi decoder code
Current code from zapping/zvbi as of 2018-03-14. Files copied
are all LGPL v2+.
Changes from original zvbi code:
* Switch to gst-debug logging system
* Use glib for endianness detection
* Fix compilation warnings
Tim-Philipp Müller [Mon, 28 May 2018 10:09:45 +0000 (11:09 +0100)]
closedcaption: add meson build files
Edward Hervey [Thu, 8 Mar 2018 14:22:47 +0000 (15:22 +0100)]
ext: New ccextractor element
Allows extracting GstVideoCaptionMeta from a stream and outputs
it to a standalone stream.
Part of a new 'ext' closedcaption plugin, since more features are
going to be added, which will depend on external dependencies such
as pango.
Tim-Philipp Müller [Sun, 27 May 2018 19:34:50 +0000 (20:34 +0100)]
webrtcbin: rtpstorage takes a 64-bit integer for "size-time" property
https://bugzilla.gnome.org/show_bug.cgi?id=796429
Tim-Philipp Müller [Fri, 25 May 2018 18:49:34 +0000 (19:49 +0100)]
directfb: don't error out for warnings in system headers
On debian system headers trigger compiler warnings like these,
don't error out on them:
/usr/include/directfb/direct/os/linux/glibc/waitqueue.h:95:1: note: previous definition of ‘direct_waitqueue_signal’ was here
Edward Hervey [Mon, 28 May 2018 08:59:01 +0000 (10:59 +0200)]
gitignore: Add new webrtc example
Christoph Reiter [Wed, 23 May 2018 19:15:09 +0000 (21:15 +0200)]
wasapisink: recover from low buffer levels in shared mode
In case the wasapi buffer levels got low in shared mode we would still wait until
more buffer is available until writing something in it, which means we could never
catch up and recover.
Instead only wait for a new buffer in case the existing one is full and always write
what we can. Also don't loop until all data is written since the base class can handle
that for us and under normal circumstances this doesn't happen anyway.
This only works in shared mode, as in exclusive mode we have to exactly
fill the buffer and always have to wait first.
This fixes noisy (buffer underrun) playback with the wasapisink under load.
https://bugzilla.gnome.org/show_bug.cgi?id=796354
Christoph Reiter [Thu, 24 May 2018 09:04:08 +0000 (11:04 +0200)]
wasapisink: fix a rounding error when calculating the buffer frame count
The calculation for the frame count in the non-aligned case resulted in
a one too low buffer frame count.
This resulted in:
1) exclusive mode not working as the frame count has to match
exactly there.
2) Buffer underruns in shared mode as the current write() code doesn't
handle catching up to low buffer levels (fixed in the next commit)
To fix just use the wasapi API to get the buffer size which will always
be correct.
https://bugzilla.gnome.org/show_bug.cgi?id=796354
Christoph Reiter [Wed, 23 May 2018 19:10:00 +0000 (21:10 +0200)]
wasapisink: fix missing unlock in case IAudioClient_Start fails
https://bugzilla.gnome.org/show_bug.cgi?id=796354
Christoph Reiter [Tue, 22 May 2018 20:58:22 +0000 (22:58 +0200)]
wasapi: use FAILED to detect errors
S_FALSE is a valid return value which does not indicate an error.
For example IAudioClient_Stop() returns S_FALSE when it is already stopped.
Use the FAILED macro instead which just checks if an error occured or not.
This fixes spurious warnings when using the wasapisink element.
https://bugzilla.gnome.org/show_bug.cgi?id=796280
Christoph Reiter [Tue, 22 May 2018 20:12:34 +0000 (22:12 +0200)]
wasapi: Don't pass CoTaskMemFree to g_clear_pointer
CoTaskMemFree has a different calling convention than GDestroyNotify
and things crash at least with MinGW.
https://bugzilla.gnome.org/show_bug.cgi?id=796280
Tim-Philipp Müller [Mon, 21 May 2018 13:42:56 +0000 (14:42 +0100)]
meson: fix libnice fallback options
Tim-Philipp Müller [Mon, 21 May 2018 11:07:04 +0000 (12:07 +0100)]
meson: add 'nls' option to disable translations
And enable by default. Was implicitly disabled because
ENABLE_NLS was not defined.
Tim-Philipp Müller [Sat, 19 May 2018 11:24:40 +0000 (12:24 +0100)]
webrtc: add some default options for libnice fallback
The tests are not very reliable, so disable for now.
Russel Winder [Fri, 18 May 2018 17:42:43 +0000 (18:42 +0100)]
mpegts: Add GIR generation array anotations
For function parameters that are known to be arrays.
https://bugzilla.gnome.org/show_bug.cgi?id=796221
Edward Hervey [Sat, 19 May 2018 09:03:08 +0000 (11:03 +0200)]
dvb: Fix string copy wiht strlen() argument
This is a new warning introduced by gcc 8
We already check just before that we have enough space, just do a regular
memcpy with the full string size.
camswclient.c:87:3: error: ‘strncpy’ specified bound depends on the length of the source argument [-Werror=stringop-overflow=]
Antoine Jacoutot [Fri, 18 Apr 2014 08:38:47 +0000 (10:38 +0200)]
libs: g-ir-scanner: do not hardcode libtool path
https://bugzilla.gnome.org/show_bug.cgi?id=726571
Seungha Yang [Thu, 17 May 2018 12:36:51 +0000 (21:36 +0900)]
nvdec/nvenc: Bump up supported CUDA Toolkit version
Add CUDA 9.2 to configure.ac
https://bugzilla.gnome.org/show_bug.cgi?id=796202
Seungha Yang [Thu, 17 May 2018 12:49:25 +0000 (21:49 +0900)]
nvenc: Fix build warning error
'cuDeviceComputeCapability' was deprecated as of CUDA 5.0
gstnvenc.c: In function ‘gst_nvenc_create_cuda_context’:
gstnvenc.c:290:9: error: ‘cuDeviceComputeCapability’ is deprecated [-Werror=deprecated-declarations]
&& cuDeviceComputeCapability (&maj, &min, cdev) == CUDA_SUCCESS) {
^
https://bugzilla.gnome.org/show_bug.cgi?id=796203
Olivier Crête [Mon, 23 Apr 2018 17:30:38 +0000 (13:30 -0400)]
videoaggregator: Remove custom get_next_time implementation
GstAggregator now has the same thing in the simple implementation.
https://bugzilla.gnome.org/show_bug.cgi?id=795486
Sreerenj Balachandran [Wed, 16 May 2018 00:33:00 +0000 (16:33 -0800)]
msdk: Add conditional build for vp9 decoder
https://bugzilla.gnome.org/show_bug.cgi?id=796119
Sreerenj Balachandran [Wed, 16 May 2018 00:32:22 +0000 (16:32 -0800)]
msdk: dec: Add VP9 decoder
https://bugzilla.gnome.org/show_bug.cgi?id=796119
Sreerenj Balachandran [Wed, 16 May 2018 00:31:02 +0000 (16:31 -0800)]
msdk: allow building against open sourced msdk
Building against mfx_dispatcher is used to search for
headers in PREFIX/include/mfx/ only (commit:
62f04e801bd7e247102ac67df889bee33ab74ff7),
but it is just PREFIX/include with open source msdk version.
https://bugzilla.gnome.org/show_bug.cgi?id=796118
Seungha Yang [Fri, 11 May 2018 06:49:05 +0000 (15:49 +0900)]
dashdemux: Fix sync of updated manifest from previous one
_get_next_fragment_timestamp() returns relative timestamp to period start.
But gst_mpd_client_stream_seek() uses absolute MPD timeline.
https://bugzilla.gnome.org/show_bug.cgi?id=781183
Seungha Yang [Thu, 10 May 2018 14:08:10 +0000 (23:08 +0900)]
adaptivedemux: Support period change in live playlist
Regardless of LIVE or VOD, "a manifest has next period but
currently EOSed" state is meaning that it's time to advance period.
Previous behavior of adpativedemux, however, was able to period
advancing only for VOD case, since the adaptivedemux tried to
update and wait new manifest without respecting existence of the next period.
https://bugzilla.gnome.org/show_bug.cgi?id=781183
Olivier Crête [Fri, 11 May 2018 18:54:35 +0000 (20:54 +0200)]
srtp: Add "roc" caps field to the gst-launch example
The currrent example was broken since 1.8.3 it seems.
https://bugzilla.gnome.org/show_bug.cgi?id=786304
Vivia Nikolaidou [Fri, 11 May 2018 14:39:35 +0000 (17:39 +0300)]
decklink: Fix crash with closed-captions signal and 10-bit input
Only free the parser if there is one. If the format hadn't changed but
had always been 10-bit, there might genuinely be no parser.
https://bugzilla.gnome.org/show_bug.cgi?id=796030
Vivia Nikolaidou [Fri, 11 May 2018 09:30:35 +0000 (12:30 +0300)]
decklinkvideosrc: Don't check for closed captions when there's no signal
Otherwise the gst_decklink_video_format_from_type() call spams the logs
with one "Unknown pixel format 0x0" line per frame.
Edward Hervey [Fri, 11 May 2018 07:54:22 +0000 (09:54 +0200)]
opencv: Fix memcpy within C++
Explicitly cast to void* because GCC 8 is (rightfully) upset that this is
"writing to an object of type ‘...’ with no trivial copy-assignment".
Caused by the new "class-memaccess" warning
Mathieu Duponchelle [Wed, 29 Nov 2017 16:57:52 +0000 (17:57 +0100)]
webrtcbin: implement support for FEC and RTX
https://bugzilla.gnome.org/show_bug.cgi?id=795044
Sreerenj Balachandran [Mon, 7 May 2018 22:12:10 +0000 (14:12 -0800)]
msdk:dec: Add new propery to dump frames in decoded order
The new property "output-order" can be set to either "display" order
which is the default where frames will be outputting in display order,
or "decoded-order" which will be outputting the frames in decoded order.
The "decoded order" output is generally useful for debugging. But there
are few
customers who use it for low-latency streaming. For eg if the customer
already knows that the stream doesn't have b-frames (which means no
algorithm requires for display order calculation), then they can use
"decoded-order"
output to skip some of the DPB logic to avoid the frame accumulation at
start-up.
The root cause of the above issue is a bit of unclarity in h264 spec +
lazy implementation of many H264 encoders; This is well handled in
gstreamer-vaapi using "low-latency" property:
https://bugzilla.gnome.org/show_bug.cgi?id=762509
https://bugzilla.gnome.org/show_bug.cgi?id=795783
Sreerenj Balachandran [Mon, 7 May 2018 22:11:34 +0000 (14:11 -0800)]
msdk: dec: inform msdk if the buffer contains a complete frame
For packetized input, inform the msdk that the buffer has
a complete frame or complementary field pairs. For decoding,
this means that the decoder can proceed with this buffer without
waiting for the start of the next frame, which effectively reduces
decoding latency.
https://bugzilla.gnome.org/show_bug.cgi?id=795783
Sreerenj Balachandran [Mon, 7 May 2018 22:11:14 +0000 (14:11 -0800)]
msdk: dec: reset async depth to one
Currently we use an async depth of 4 as default (based on
recommendations
in msdk apps), which indicates how many asynchronous operations an
application performs
before the application explicitly synchronizes the result. As a result,
we
queue four frames in decoder which might not be good approach for
live streaming.
This patch reset the async-depth to 1 as default so that we do sync for
each frame we decode without queuing. Customer can play with already
exposed "async-depth" property for other use cases
https://bugzilla.gnome.org/show_bug.cgi?id=795783
Sebastian Dröge [Mon, 7 May 2018 14:53:32 +0000 (17:53 +0300)]
videoaggregator: Set video-meta option on buffer pool configuration correctly
CID 1435451
Sebastian Dröge [Mon, 7 May 2018 07:17:16 +0000 (09:17 +0200)]
videoaggregator: First override set/get_property vfuncs, then install properties
Gives assertions otherwise.
Kyrylo Polezhaiev [Tue, 2 Feb 2016 17:18:26 +0000 (19:18 +0200)]
gdp: ignore timestamp of event
This field is not used and will be removed in 2.0 API.
https://bugzilla.gnome.org/show_bug.cgi?id=761462
Sebastian Dröge [Sun, 6 May 2018 14:49:43 +0000 (16:49 +0200)]
videoaggregator: Some more documentation fixes
Mathieu Duponchelle [Sun, 6 May 2018 14:44:47 +0000 (16:44 +0200)]
videoaggregator: expose converter-config on convert pads
This in order to allow users control over the conversion
process, for example the scaling method.
Sebastian Dröge [Sun, 6 May 2018 14:43:32 +0000 (16:43 +0200)]
videoaggregator: Fix up documentation some more
Sebastian Dröge [Sun, 6 May 2018 14:22:01 +0000 (16:22 +0200)]
videoaggregator: Clean up header and update docs a bit
Sebastian Dröge [Sun, 6 May 2018 14:05:28 +0000 (16:05 +0200)]
videoaggregator: Rename get_output_buffer() to create_output_buffer()
For consistency with GstAudioAggregator.
Sebastian Dröge [Sun, 6 May 2018 13:49:36 +0000 (15:49 +0200)]
videoaggregator: Validate pool configuration and create a new pool if it just does not work
Also pass the given allocator to the pool if one is set.
Sebastian Dröge [Sun, 6 May 2018 13:21:24 +0000 (15:21 +0200)]
videoaggregator: Switch to a GstVideoAggregatorConvertPad subclass
This moves all the conversion related code to a single place, allows
less code-duplication inside compositor and makes the glmixer code less
awkward. It's also the same pattern as used by GstAudioAggregator.
Fabien Dessenne [Thu, 23 Feb 2017 10:48:13 +0000 (11:48 +0100)]
waylandsink: support fullscreen
Add the fullscreen property that makes the sink displayed all across
the output.
https://bugzilla.gnome.org/show_bug.cgi?id=688190
Tim-Philipp Müller [Sat, 5 May 2018 15:55:58 +0000 (17:55 +0200)]
docs: plugins: update
Sebastian Dröge [Sat, 5 May 2018 15:47:55 +0000 (17:47 +0200)]
glmixer: Include string.h for memset()
gstglmixer.c:143:5: error: implicit declaration of function ‘memset’ [-Werror=implicit-function-declaration]
memset (prepared_frame, 0, sizeof (GstVideoFrame));
^~~~~~
gstglmixer.c:143:5: error: incompatible implicit declaration of built-in function ‘memset’ [-Werror]
Nirbheek Chauhan [Sat, 5 May 2018 14:00:42 +0000 (19:30 +0530)]
meson: Update option names to omit disable_ and with- prefixes
Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually.
Jan Schmidt [Sat, 5 May 2018 14:32:59 +0000 (14:32 +0000)]
waylandsink: Only build if gtk-3.0 was built with wayland target
Check in configure if the gtk-3.0 has wayland support, and don't
build the waylandsink example if it doesn't.
Sebastian Dröge [Sat, 5 May 2018 14:31:13 +0000 (16:31 +0200)]
videoaggregator: Remove sink_non_alpha_caps class field
This is only used for caching reasons and should never actually be in
the public API. If this is ever a bottleneck later, caching around a
class private struct could be implemented.
Sebastian Dröge [Sat, 5 May 2018 14:14:14 +0000 (16:14 +0200)]
videoaggregator: Move needs_alpha pad field to the private struct
And also trigger renegotiation if the value has changed.
https://bugzilla.gnome.org/show_bug.cgi?id=795836
Sebastian Dröge [Sat, 5 May 2018 13:49:17 +0000 (15:49 +0200)]
videoaggregator: Move aggregated_frame and the pad buffer into the private struct
The aggregated_frame is now called prepared_frame and passed to the
prepare_frame and cleanup_frame virtual methods directly. For the
currently queued buffer there is a method on the video aggregator pad
now.
Nirbheek Chauhan [Sat, 5 May 2018 13:18:13 +0000 (18:48 +0530)]
meson: Add a subproject fallback for libnice in webrtc
Sebastian Dröge [Sat, 5 May 2018 10:16:35 +0000 (12:16 +0200)]
glmixer: Move frame/texture mapping/unmapping into prepare/clean_frame
Previously we assumed that the texture ID is going to be valid even
after unmapping the frame, as it was immediately unmapped before even
being used. Now we only unmap once we're done with the texture.
Seungha Yang [Sat, 5 May 2018 05:37:06 +0000 (14:37 +0900)]
nvdec: Add support VP8/VP9 decoding
NVIDIA video decoder supports VP8 and VP9 decoding
https://bugzilla.gnome.org/show_bug.cgi?id=795823
Jan Schmidt [Fri, 4 May 2018 15:59:53 +0000 (01:59 +1000)]
srtpenc: Handle session object disappearing
During element shutdown, the srtp encryption session
object can be cleaned up. In that case, return GST_FLOW_FLUSHING
from the chain function. Also properly return GST_FLOW_ERROR
upstream during actual errors.
https://bugzilla.gnome.org/show_bug.cgi?id=790508
Sebastian Dröge [Fri, 4 May 2018 15:18:12 +0000 (17:18 +0200)]
videoaggregator: Move property storage to private pad struct
Sebastian Dröge [Fri, 4 May 2018 14:46:00 +0000 (16:46 +0200)]
videoaggregator: Rename ignore-eos pad property to repeat-after-eos
What it does is to repeat the last frame forever after EOS, it does not
literally ignore EOS.
Sebastian Dröge [Fri, 4 May 2018 14:13:16 +0000 (16:13 +0200)]
videoaggregator: Move GstChildProxy implementations into leaf classes
Not every subclass will want to expose the pads via the interface.
https://bugzilla.gnome.org/show_bug.cgi?id=739011
Sebastian Dröge [Fri, 4 May 2018 12:53:21 +0000 (14:53 +0200)]
videoaggregator: Get rid of separate header for the aggregator pad
Aurélien Zanelli [Mon, 16 Mar 2015 15:20:44 +0000 (16:20 +0100)]
tsdemux: ignore sparse stream when checking for initial timestamp
Unless we only have sparse streams. In this case we will consider them.
It fixes a bug happening when first observed timestamp comes from a
sparse stream and other streams don't have a valid timestamp, yet. Thus
leading the timestamp from sparse stream to be the start of the
following segment. In this case, if the timestamp is really bigger than
non-sparse stream (audio/video), it will lead the pipeline to clip
samples from the non-parse stream.
https://bugzilla.gnome.org/show_bug.cgi?id=744469
Jan Schmidt [Fri, 4 May 2018 12:24:18 +0000 (22:24 +1000)]
resindvsrc: Don't use the GST_EVENT_TIMESTAMP
Store a PTS of a highlight event directly into the event structure,
rather than the GST_EVENT_TIMESTAMP that will probably be removed
in GStreamer 2.0, and is hardly used.
https://bugzilla.gnome.org/show_bug.cgi?id=761477
Vineeth T M [Mon, 27 Oct 2014 04:11:51 +0000 (09:41 +0530)]
scenechange: improve detection algorithm
Scene detection determines, how many scenes have changed in a video.
It compared the previous frame with present frame to find out the score and a
threshold is calculated for the same.
I have added an intermediate condition which helps in improving the positive
detections.
https://bugzilla.gnome.org/show_bug.cgi?id=735094
Sreerenj Balachandran [Wed, 2 May 2018 22:52:24 +0000 (14:52 -0800)]
msdk: enc: Add dmabuf-export support
Current implementation is only supporting dmabuf-export
through DMABufCapsfeatures.
MSDK dmabuf fds are not mappable and dmabuf-import
is not yet supported too (#794817).
https://bugzilla.gnome.org/show_bug.cgi?id=795707
Sreerenj Balachandran [Mon, 30 Apr 2018 20:40:32 +0000 (12:40 -0800)]
msdkvpp: Disable passthrough if memory capsfeature changes
So far msdk produced dmabuf fds are non-mappable.
If user wants to download the content of underlined surfaces,
dmabufcapsfeature negotiated pipeline will fail. So if the input surface
is dmabuf and downstream doesn't have support for dmabuf capsfeatures,
we do the vpp (no passthrough) and produce the mappable videomemory
buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=794946
Sreerenj Balachandran [Mon, 30 Apr 2018 20:39:52 +0000 (12:39 -0800)]
msdk: vpp: Add dmabuf-export support
Currenly, the dmabuf buffer pool can be negotiated
only through DMABuf capsfeatures.
This will not allow to negotiate dmabuf support with
v4l2src (v4l2src ! msdkvpp) where v4l2src always export
the dmabuf based memory with out using the DMABuf capsfeatures.
So it requires fix based on:
https://bugzilla.gnome.org/show_bug.cgi?id=794817
https://bugzilla.gnome.org/show_bug.cgi?id=794946
Jan Schmidt [Fri, 27 Apr 2018 15:15:44 +0000 (01:15 +1000)]
nvdec: Add colorimetry info to the caps
Output any colorimetry information extracted from the stream
into the caps.
Jan Schmidt [Fri, 27 Apr 2018 04:41:14 +0000 (14:41 +1000)]
nvdec: Use gst_video_info_to_caps to build caps.
Don't build caps directly, as that won't add any GstVideoInfo
newer fields (such as colorimetry) automatically.
Nicolas Dufresne [Thu, 8 Mar 2018 20:23:05 +0000 (20:23 +0000)]
kmssink: Add 24bit RGB support
https://bugzilla.gnome.org/show_bug.cgi?id=794186
Sreerenj Balachandran [Wed, 25 Apr 2018 20:26:43 +0000 (12:26 -0800)]
msdk: vpp: Add YV12, YUY2 and BGRx formats to template
Sreerenj Balachandran [Wed, 25 Apr 2018 00:46:20 +0000 (16:46 -0800)]
msdk: Add more video format mapping
BGRx format can be supported with Msdk's RGB4
Sreerenj Balachandran [Wed, 25 Apr 2018 00:45:24 +0000 (16:45 -0800)]
msdk: vpp: Allocation query fixes
prpose_allocation:
-- always instantiate a pool for for upstream
-- use async_depth + 1 as min buffer count
decide_allocation:
-- always create a new bufferpool for source pad.
Each of the msdk element has to create it's own mfxsurfacepool
which is an msdk contraint. For eg: Each Msdk component (vpp, dec and
enc)
will invoke the external Frame allocator for video-memory usage
So sharing the pool between gst-msdk elements might not be a good idea.
https://bugzilla.gnome.org/show_bug.cgi?id=793705
Nicolas Dufresne [Wed, 25 Apr 2018 19:05:38 +0000 (15:05 -0400)]
rfbsrc: Fix decide_allocation to support NULL pool
We were assuming that NULL pool meant that downstream didn't reply.
Update the pool index 0 instead of adding at the end. Otherwise we ended
up letting basesrc decide, which would pick the blocksize as a size
(4096) instead of the image size.
https://bugzilla.gnome.org/show_bug.cgi?id=795327
Nicolas Dufresne [Wed, 25 Apr 2018 17:36:01 +0000 (13:36 -0400)]
rfbsrc: Fix support for applevncserver
This server uses an unknown 003.889 protocol version. This patch fixes
the version validation in order to simply fallback to 3.3 as suggested
by the spec.
Xavier Claessens [Tue, 24 Apr 2018 18:05:30 +0000 (14:05 -0400)]
Meson: Generate pc file for all plugins in bad
https://bugzilla.gnome.org/show_bug.cgi?id=794568
Tim-Philipp Müller [Wed, 25 Apr 2018 10:00:00 +0000 (11:00 +0100)]
meson: use -Wl,-Bsymbolic-functions where supported
Just like the autotools build.
Guillaume Desmottes [Tue, 6 Mar 2018 14:18:46 +0000 (15:18 +0100)]
h264parse: add constrained and progressive profiles
Those profiles have been added in the version 2012-01
and 2011-06 of the AVC spec.
https://bugzilla.gnome.org/show_bug.cgi?id=794127
Jun Xie [Tue, 27 Feb 2018 02:51:07 +0000 (10:51 +0800)]
curlhttpsrc: deadlock in multi-instance scenario
Fixed queue iterator issue and set context state to
GSTCURL_MULTI_LOOP_STATE_RUNNING in case other
instance are in running state.
https://bugzilla.gnome.org/show_bug.cgi?id=793863