Seungha Yang [Fri, 23 Nov 2018 02:28:44 +0000 (11:28 +0900)]
h264parse: Don't duplicate SPS/PPS per config-interval if exists
Don't need to manually insert SPS/PPS since inband data could be useable.
Fixes #824
Tim-Philipp Müller [Mon, 26 Nov 2018 00:58:16 +0000 (00:58 +0000)]
meson: build opencv and ipcpipeline examples
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/576
Tim-Philipp Müller [Thu, 29 Nov 2018 11:24:39 +0000 (11:24 +0000)]
cc708overlay: fix deadlock
We would forget to unlock when a caption data buffer is deemed
out of segment, which makes everything lock up next time buffers
are received.
Jordan Petridis [Wed, 28 Nov 2018 11:35:35 +0000 (13:35 +0200)]
Run gst-indent through the files
This is required before we enabled an indent test in the CI.
https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
Maciej Wolny [Tue, 20 Nov 2018 10:37:47 +0000 (10:37 +0000)]
webrtc: Remove duplicate declarations
This causes 'redefinition of typedef ...' errors on GCC 4.5.3
Seungha Yang [Tue, 27 Nov 2018 07:06:53 +0000 (16:06 +0900)]
hlssink2: Fix string leak
Need to free allocated string memory on _finalize()
Xiang, Haihao [Fri, 16 Nov 2018 05:58:22 +0000 (13:58 +0800)]
msdk: remove unnecessary assignment
CodecProfile will be set in MFXVideoDECODE_DecodeHeader() to match
the input stream. Setting the hard-coded profile here will mislead
user that msdkh265dec supports a special profile only.
Xiang, Haihao [Fri, 16 Nov 2018 00:56:34 +0000 (08:56 +0800)]
msdk: update the sink and src caps of msdkh265dec
Now hevc 10bit video can be decoded correctly, so update the sink
and src caps accordingly.
This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/720
Xiang, Haihao [Mon, 19 Nov 2018 14:24:33 +0000 (22:24 +0800)]
msdk: set right BitDepth and Shift for P010 mfx frame
BitDepth is 10 and Shitf must be set to 1 when creating P010 mfx
frame in MSDK
Xiang, Haihao [Mon, 19 Nov 2018 07:34:38 +0000 (15:34 +0800)]
msdk: don't use hard-coded video format
Some codecs may support varied formats, e.g. HEVC may support NV12
and P010_10LE etc
Xiang, Haihao [Fri, 16 Nov 2018 12:01:52 +0000 (20:01 +0800)]
msdk: adjust the RT format for P010 surface
According to VA API, VA_RT_FORMAT_YUV420_10 is expected for P010
surface
Xiang, Haihao [Fri, 16 Nov 2018 06:36:31 +0000 (14:36 +0800)]
msdk: create VA_FOURCC_P010 surface from dmabuf
Xiang, Haihao [Fri, 16 Nov 2018 06:32:29 +0000 (14:32 +0800)]
msdk: VA_FOURCC_P010 frame lock
P010 and NV12 have the same layout, so we may reuse the code in
gst_msdk_frame_lock()
Xiang, Haihao [Fri, 16 Nov 2018 08:42:43 +0000 (16:42 +0800)]
msdk: map MFX_FOURCC_P010 to VA_FOURCC_P010
Xiang, Haihao [Fri, 16 Nov 2018 06:18:36 +0000 (14:18 +0800)]
msdk: make sure the surface data is set for GST_VIDEO_FORMAT_P010_10LE
P010_10LE and NV12 have the same layout, so we may reuse the code.
Haihao Xiang [Fri, 19 Oct 2018 08:23:21 +0000 (16:23 +0800)]
msdk: map GST_VIDEO_FORMAT_P010_10LE to MFX_FOURCC_P010
Xiang, Haihao [Fri, 16 Nov 2018 06:00:02 +0000 (14:00 +0800)]
msdk: add an assert in gst_msdk_frame_lock() for unhandled formats
We will add support for more formats, e.g. P010, Adding an assert
here may catch the error early
Haihao Xiang [Fri, 19 Oct 2018 08:23:34 +0000 (16:23 +0800)]
msdk: use separate src caps for msdkh265dec
We will add more formats in the src caps of msdkh265dec, so let
msdkh265dec uses separate src caps. Note it doesn't change any
capability
Xiang, Haihao [Tue, 20 Nov 2018 07:17:44 +0000 (15:17 +0800)]
msdk: Make sure a variable is initialized when it is used
Previously alloc_info is initialized when both thiz->initialized
and thiz->allocation_caps are true, but only thiz->initialized is
checked when alloc_info is used.
Xiang, Haihao [Tue, 20 Nov 2018 06:21:54 +0000 (14:21 +0800)]
msdk: Close fd handle
Otherwise it will result in resource leak if mem == NULL
Nicola Murino [Sun, 25 Nov 2018 19:27:25 +0000 (20:27 +0100)]
opencv: define CASCADE_DO_CANNY_PRUNING for opencv < 4
Nicola Murino [Sun, 25 Nov 2018 15:13:28 +0000 (16:13 +0100)]
opencv: make compatible with opencv 4
Closed #826
Nicola Murino [Sun, 25 Nov 2018 15:12:40 +0000 (16:12 +0100)]
opencv: fix indentation
Wangfei [Tue, 27 Nov 2018 08:22:04 +0000 (16:22 +0800)]
configure.ac: add gst-allocator check in msdk.
With out check gst-allocator, there will be a gst-allocator api
symbol link error when call for libgstmsdk.so.
Matthew Waters [Wed, 21 Nov 2018 14:43:56 +0000 (08:43 -0600)]
decklink: fixup internal time tracking over buffering pauses
Instead of relying on buffers after a state change to PLAYING to always start
from 0, track the amount of time we have spent outside playing but not changed
state to PAUSED.
Matthew Waters [Mon, 26 Nov 2018 05:53:52 +0000 (16:53 +1100)]
tests/webrtc: fix tests for no libnice
webrtcbin will fail the state change to READY when libnice elements are
not available.
Matthew Waters [Mon, 26 Nov 2018 05:50:17 +0000 (16:50 +1100)]
tests/webrtc: use the existing functions in the plugin
Instead of redefining our own, use the function implementations in
webrtcsdp.c and utils.c
Matthew Waters [Mon, 26 Nov 2018 05:21:58 +0000 (16:21 +1100)]
webrtc: fix typo in RTCRemoteOutboundRTPStreamStats
Matthew Waters [Mon, 26 Nov 2018 05:21:19 +0000 (16:21 +1100)]
webrtc: add a few comments on bundle and src pad exposure
Matthew Waters [Mon, 26 Nov 2018 05:20:02 +0000 (16:20 +1100)]
webrtcbin: factor out dtls fingerprint setting
Matthew Waters [Mon, 26 Nov 2018 05:12:03 +0000 (16:12 +1100)]
webrtc: remove extra 'pad' from log line
Matthew Waters [Mon, 26 Nov 2018 05:07:57 +0000 (16:07 +1100)]
webrtc: move some functions to the appropriate files
Seungha Yang [Mon, 26 Nov 2018 02:26:52 +0000 (11:26 +0900)]
meson: Fix Windows CUDA dependency check
Python returns 'None' string for unknown environment
Seungha Yang [Thu, 22 Nov 2018 08:18:18 +0000 (17:18 +0900)]
nvh265enc: Fix email address typo
Seungha Yang [Thu, 22 Nov 2018 07:14:12 +0000 (16:14 +0900)]
nvenc: Fix undefined reference build error on MSVC and CUDA 9.1
Seungha Yang [Thu, 22 Nov 2018 05:01:28 +0000 (14:01 +0900)]
nvenc: Fix MSVC build error C2121
Seungha Yang [Thu, 22 Nov 2018 03:14:44 +0000 (12:14 +0900)]
nvenc: Add meson build with Windows support
Note that, since Nvidia does not provide nvEncodeAPI.lib file,
find_library() couldn't be used for build on Windows.
This patch changes to load nvEncodeAPI(64).dll or libnvidia-encode.so
in runtime
Seungha Yang [Mon, 19 Nov 2018 13:40:50 +0000 (22:40 +0900)]
nvdec: Add meson build with Windows support
Seungha Yang [Wed, 21 Nov 2018 15:22:25 +0000 (00:22 +0900)]
nvdec: Drop dynlink interface and use NVIDIA CODEC SDK instead
dynlink_* was introduced since CUDA Toolkit 9.x but it's deprecated from 10.0.
Instead of using #ifdef hack, shipping nvidia headers of NVIDA CODEC SDK
can make build/code simple
Seungha Yang [Thu, 22 Nov 2018 01:57:00 +0000 (10:57 +0900)]
nvdec/nvenc: Shipping NVIDA Codec SDK headers
Add cuvidec.h, nvcuvid.h and nvEncodeAPI.h of NVIDIA Codec SDK 8.2.16
Seungha Yang [Thu, 15 Nov 2018 12:52:27 +0000 (21:52 +0900)]
nvenc/nvdec: Add support CUDA Toolkit 10.0
Tim-Philipp Müller [Sun, 25 Nov 2018 17:33:04 +0000 (17:33 +0000)]
examples: codecparser: fix compiler warnings for unstable API use
Breaks build bots and build with --werror
Tim-Philipp Müller [Mon, 8 Oct 2018 22:47:51 +0000 (23:47 +0100)]
examples: force gtk to x11 backend
Until someone makes it work with the wayland backend.
The code currenty assumes and hard-codes X11.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/49
Tim-Philipp Müller [Mon, 8 Oct 2018 22:47:42 +0000 (23:47 +0100)]
meson: build more examples
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/576
Seungha Yang [Sat, 24 Nov 2018 10:26:30 +0000 (19:26 +0900)]
meson: Specify encoding to UTF-8 when building with MSVC
Use build arguments consistent with core and -base. This can also
remove noisy "C4819" warning of non-us locale MSVC.
Víctor Manuel Jáquez Leal [Fri, 23 Nov 2018 16:05:51 +0000 (17:05 +0100)]
msdk: don't declare headers in meson
This partially reverts commit
0bae64835302574953c3e5e89fa0822eb4f6ca4b.
The compiler tells ninja the header dependency, then there is
no need to add them explicity.
Víctor Manuel Jáquez Leal [Fri, 23 Nov 2018 12:41:57 +0000 (13:41 +0100)]
msdk: declare headers in meson
Wangfei [Tue, 20 Nov 2018 06:36:30 +0000 (14:36 +0800)]
msdkdec: move output-order out of decode bass class.
Since output-order is a deprecated attribute, move it out of decode
bass class and configure it in each sub decoder class who need it.
https://bugzilla.gnome.org/show_bug.cgi?id=796853
Víctor Manuel Jáquez Leal [Thu, 22 Nov 2018 16:02:09 +0000 (17:02 +0100)]
msdk: add support for open sourced MediaSDK
MediaSDK has been released as open source [1], but the directories
where it installs its files, are different from the binary only
distribution.
This patch adds to the libraries path the directory /lib. Also it
is defined in meson if the include directory has the mfx/ prefix,
something that is already handled in autotools.
1. https://github.com/Intel-Media-SDK/MediaSDK
Harshad Khedkar [Thu, 22 Nov 2018 13:17:13 +0000 (18:47 +0530)]
Webrtcbin : Need to use 'host' from gst_uri_get_host s libnice agent expects it
Currently master code of gst1-plugins-bad use plain-string host name while passing it to
libnice agent: nice_agent_set_relay_info() in gstwebrtcice.c while adding turn_server(_add_turn_server).
It is observered that if we don't convert the host parameter by using gst_uri_get_host, it fails in libnice agent(0.1.14-1).
Code does, actually, set the host correctly but while passing params to nice_agent_set_relay_info, it uses incorrect one.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/823
Lars Petter Endresen [Mon, 12 Nov 2018 11:03:53 +0000 (12:03 +0100)]
siren: Fix floating point invalid operation
Mix of single and double precision leads to zero-by-zero divide
for upper 64-bit of the xmm register, even though they are not
used.
Rosen Penev [Wed, 14 Nov 2018 22:55:37 +0000 (14:55 -0800)]
dtls: Fix compilation without deprecated APIs on OpenSSL 1.1.x
Justin Kim [Tue, 13 Nov 2018 09:20:15 +0000 (18:20 +0900)]
cameracalibrate: Fix build error on Mac OSX
It fails to build only on Mac OSX with the following error.
In file included from ../subprojects/gst-plugins-bad/ext/opencv/gstopencv.cpp:45:
../subprojects/gst-plugins-bad/ext/opencv/gstcameracalibrate.h:96:38: error: a space is required between consecutive right angle brackets (use '> >')
std::vector<std::vector<cv::Point2f>> imagePoints;
^~
> >
1 error generated.
Fix: #817
Seungha Yang [Tue, 13 Nov 2018 08:50:26 +0000 (17:50 +0900)]
meson: Fix invalid keyword warning
"required" keyword is not a valid argument for has_header()
WARNING: Passed invalid keyword argument "required".
WARNING: This will become a hard error in the future.
Sebastian Dröge [Tue, 13 Nov 2018 08:02:57 +0000 (10:02 +0200)]
decklinkvideosink: Cast result of bitwise-or of multiple enum values to the enum again
In C++ the bitwise-or results in an int, and ints are not implicitely
cast to enums.
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/25#note_78122
Nirbheek Chauhan [Tue, 13 Nov 2018 04:25:56 +0000 (09:55 +0530)]
d3dvideosink: Remove unused variable
Fixes a compiler warning.
Sebastian Dröge [Wed, 7 Nov 2018 15:15:25 +0000 (17:15 +0200)]
decklinkvideosink: Add support for outputting closed captions
Jordan Petridis [Mon, 12 Nov 2018 11:23:45 +0000 (13:23 +0200)]
Add Gitlab CI configuration
This commit adds a .gitlab-ci.yml file, which uses a feature
to fetch the config from a centralized repository. The intent is
to have all the gstreamer modules use the same configuration.
The configuration is currently hosted at the gst-ci repository
under the gitlab/ci_template.yml path.
Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
Matthew Waters [Mon, 12 Nov 2018 10:23:37 +0000 (21:23 +1100)]
build: link against the gnustl dependency on android for c++ plugins
Jochen Henneberg [Fri, 9 Nov 2018 15:20:09 +0000 (15:20 +0000)]
avdtputil: Remove dead code
These function are not used at all, using them together with the
transport-volume property from avdtpsrc may end up in a binding loop so
we better remove the functions.
Jochen Henneberg [Fri, 9 Nov 2018 15:16:46 +0000 (15:16 +0000)]
avdtpsrc: Fix transport-volume write
If properties are proxied through GBinding this can work only if the
proxied property keeps it's own value. The previous implementation will
read the original value if the proxied property signals a change and
thus nothing will happen.
Olivier Crête [Thu, 18 Oct 2018 18:49:50 +0000 (14:49 -0400)]
srtp: Add unit tests for MKI support
Both as a srtpenc ! srtpdec pipeline and as a test that uses
fake packets for multiple mixed MKIs.
https://bugzilla.gnome.org/show_bug.cgi?id=797305
Olivier Crête [Wed, 17 Oct 2018 22:30:10 +0000 (18:30 -0400)]
srtpenc: Add support for adding a MKI
https://bugzilla.gnome.org/show_bug.cgi?id=797305
Olivier Crête [Mon, 15 Oct 2018 22:23:35 +0000 (18:23 -0400)]
srtpdec: Add support for MKI
Add support for MKIs which allow multiple keys to be used with a single SRTP stream.
https://bugzilla.gnome.org/show_bug.cgi?id=797305
Joshua M. Doe [Tue, 16 Oct 2018 15:53:20 +0000 (11:53 -0400)]
dshowsrcwrapper: add implementation of GstDeviceMonitor
Right now this only works for video. An attempt was made at adding
monitoring following the example winks, but it seems the only devices that
can be easily detected are KS sources, which winks already handles.
Joshua M. Doe [Tue, 16 Oct 2018 15:45:15 +0000 (11:45 -0400)]
dshowsrcwrapper: refactor device selection, filter creation, and caps retrieval
This allows a future GstDeviceProvider to more easily query devices and caps.
Joshua M. Doe [Fri, 12 Oct 2018 14:12:14 +0000 (10:12 -0400)]
dshowsrcwrapper: add get_property implementation to sources
Joshua M. Doe [Fri, 12 Oct 2018 13:59:54 +0000 (09:59 -0400)]
dshowvideosrc: handle empty strings for device and device-name
The device and device-name properties should treat NULL and empty strings the same
Joshua M. Doe [Fri, 12 Oct 2018 12:57:07 +0000 (08:57 -0400)]
dshowvideosrc: delay selecting device until source is started
The previous behaviour had issues when setting one of the device properties
after _get_caps had been called. The device shouldn't be locked in until after
_start has been called.
Joshua M. Doe [Fri, 12 Oct 2018 12:49:06 +0000 (08:49 -0400)]
dshowvideosrc: fix template caps to reflect actual supported caps
Joshua M. Doe [Thu, 11 Oct 2018 16:58:35 +0000 (12:58 -0400)]
dshowsrcwrapper: add some helpful debug statements
Joshua M. Doe [Mon, 15 Oct 2018 16:49:55 +0000 (12:49 -0400)]
ksvideosrc: initialize pointer to satisfy MSVC
Joshua M. Doe [Mon, 15 Oct 2018 16:48:10 +0000 (12:48 -0400)]
ksvideosrc: support 'Y16 ' FOURCC as GRAY16_LE
The FLIR Boson USB provides 16-bit grayscale video using this FOURCC.
Joshua M. Doe [Mon, 15 Oct 2018 16:46:32 +0000 (12:46 -0400)]
ksvideosrc: gracefully handle device prop when empty string
Russel Winder [Thu, 8 Nov 2018 08:15:41 +0000 (08:15 +0000)]
mpegts: Register a number of new boxed types to support auto generation of bindings.
Sebastian Dröge [Wed, 7 Nov 2018 15:24:35 +0000 (17:24 +0200)]
decklinkvideosrc: Search from line 1 again if we didn't find closed captions at the same line as before
Matthew Waters [Mon, 28 May 2018 15:06:09 +0000 (01:06 +1000)]
tsdemux: implement preliminary support for the bitrate query
Return the size / total duration as a ballpark estimate.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
Seungha Yang [Sun, 14 Oct 2018 07:36:33 +0000 (16:36 +0900)]
h265parser: Various update of vps parsing
* Add FIXME for future correction of HRDParames parsing.
Spec. defines that the number of HRDParames could be up to
"vps_num_layer_sets_minus1 + 1" (i.e., 1024).
* Add parsing vps_base_layer_{internal,available}_flag.
* Fix possible invalid vps_extension parsing.
Fixes #798
Seungha Yang [Sun, 14 Oct 2018 07:02:01 +0000 (16:02 +0900)]
tests: h265parser: Add test parsing nonzero vps_max_layer_id in VPS
Seungha Yang [Fri, 12 Oct 2018 10:26:01 +0000 (19:26 +0900)]
h265parser: Fix wrong maximum range check in gst_h265_parse_vps()
Fix validation of some syntax.
Fixes #798
Jordan Petridis [Mon, 29 Oct 2018 19:51:14 +0000 (21:51 +0200)]
meson: avoid unkown variables in the msdk tests
Jan Alexander Steffens (heftig) [Tue, 6 Nov 2018 17:47:43 +0000 (18:47 +0100)]
dtls: Link against winsock2 on Windows
Should fix the Windows build after
b1509b1047bb76c9b2d8b14e9cecd0da72fd8e65.
admin [Tue, 6 Nov 2018 17:06:01 +0000 (11:06 -0600)]
decklinkvideosink: fix segfault when audiosink is closed before videosink
Jan Alexander Steffens (heftig) [Tue, 6 Nov 2018 15:50:29 +0000 (16:50 +0100)]
dtlsconnection: Print out errno info for syscall errors
As suggested in [the SSL_get_error manpage][1]. Upgrade the message to a
warning if the errno isn't 0 (success). The latter apparently means the
transport encountered an EOF (shutdown) without the shut down handshake
on the (D)TLS level. This happens quite often for otherwise normal DTLS
connections.
[1]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_error.html
Andreas Frisch [Thu, 29 Mar 2018 11:33:10 +0000 (13:33 +0200)]
dtls: Properly display all errors/warnings from ERR queue
Print out all errors from the OpenSSL error queue instead of just
looking at the topmost error. Using the callback interface also removes
the need for formatting using a buffer on the stack.
Jan Alexander Steffens (heftig) [Mon, 5 Nov 2018 11:37:21 +0000 (12:37 +0100)]
dtlsconnection: Replace if-else chain with switch
A more idiomatic construct for testing a bunch of integers.
Jan Alexander Steffens (heftig) [Mon, 5 Nov 2018 11:31:38 +0000 (12:31 +0100)]
dtlsconnection: Clear error queue before SSL_do_handshake
As documented on [the SSL_get_error manpage][1] we need to empty the
error queue before making any call that we check with SSL_get_error.
[1]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_error.html
Jan Alexander Steffens (heftig) [Mon, 5 Nov 2018 11:26:26 +0000 (12:26 +0100)]
dtlsconnection: Lower BIO error log level to DEBUG
Periodic SSL_ERROR_SYSCALL errors with errno == 0 seem to be normal
behavior for DTLS connections.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/677
Jan Alexander Steffens (heftig) [Tue, 6 Nov 2018 16:08:35 +0000 (17:08 +0100)]
dtlsconnection: Run gst-indent
Sebastian Dröge [Mon, 5 Nov 2018 15:00:20 +0000 (17:00 +0200)]
cccombiner: Add unit test
Sebastian Dröge [Mon, 5 Nov 2018 14:24:58 +0000 (16:24 +0200)]
cccombiner: Add new closed caption combiner element
This is the inverse of ccextractor: it takes a video and closed caption
stream and places the closed caption metas on the video output buffers.
Sebastian Dröge [Mon, 5 Nov 2018 15:07:32 +0000 (17:07 +0200)]
ccextractor: Handle multiple caption metas per buffer
Florent Thiéry [Tue, 6 Nov 2018 11:40:12 +0000 (12:40 +0100)]
msdk: fix intel sdk libdir path
the 2018.3.1 intel sdk release places libraries into /lib64 instead of
/lib/lin_x64 or /lib/x64, this commit adds /lib64 to the libdir
locations list
Fixes #815
Seungha Yang [Tue, 6 Nov 2018 11:14:32 +0000 (20:14 +0900)]
d3dvideosink: Fix calculating buffer size of packed format
The Pitch (i.e., stride) of D3DLOCKED_RECT structure is already
respecting required stride value.
Seungha Yang [Sun, 4 Nov 2018 13:41:50 +0000 (22:41 +0900)]
d3dvideosink: Set actual buffer size to buffer pool
If configured size of buffer pool and actual buffer size are mismatched,
pool will do unwanted buffer resize.
Fixes #801
Seungha Yang [Sat, 3 Nov 2018 11:52:20 +0000 (20:52 +0900)]
d3dvideosink: Use lock/cond to wait internal window construction
We can save one (or possibly more) sleep time by using lock/cond
Seungha Yang [Sat, 3 Nov 2018 11:20:50 +0000 (20:20 +0900)]
d3dvideosink: Don't leak GThread object
Need to call g_thread_join() to avoid leak
Seungha Yang [Tue, 30 Oct 2018 13:49:01 +0000 (22:49 +0900)]
d3dvideosink: Print lock/unlock log with trace debug level
Seungha Yang [Tue, 6 Nov 2018 10:36:12 +0000 (19:36 +0900)]
d3dvideosink: Remove white space
Nicolas Dufresne [Fri, 2 Nov 2018 19:53:56 +0000 (15:53 -0400)]
h265parser: Stop considering 6 bytes NAL complete
This is only TRUE for EOS / EOB NALs. Before this patch, passing
any valid 6 bytes of a NAL would make the parser pretend this NAL is
complete.