Matthew Waters
ac09f88eb9
vulkan: implement the correct memory barriers necessary
...
Vulkan validation layers are finally silent!
2019-06-04 09:03:44 +00:00
Matthew Waters
ae13e66639
vkmemory: fix allocation of sizes less than the alignment
...
Avoids allocating a 0-sized device memory which is invalid vulkan usage
2019-06-04 09:03:44 +00:00
Matthew Waters
0efd559950
vk*pool: expand usage hints to cover use in a renderpass
2019-06-04 09:03:44 +00:00
Matthew Waters
25a970f9d5
vkformat: fix format conversion for matching vulkan formats
...
Other formats still need a swizzle or conversion.
2019-06-04 09:03:44 +00:00
Matthew Waters
5478d39900
vkbuffermemory: bufferview's are only for texture-like memory
2019-06-04 09:03:44 +00:00
Matthew Waters
d61e771c37
vulkan: use c99 designated initializers where possible
...
Makes the code much easier to read and allows removing our terrible
macros for structure initialization.
2019-06-04 09:03:44 +00:00
Matthew Waters
673d775df0
vkupload: implement buffer to image uploader
2019-06-04 09:03:44 +00:00
Matthew Waters
c568d1a673
vkqueue: unly unref the context query if it succeeds
2019-06-04 09:03:44 +00:00
Matthew Waters
70fda3ff78
vulkan: large docs update
2019-06-04 09:03:44 +00:00
Matthew Waters
32d217a9df
vulkan: add a command pool object for tracking
2019-06-04 09:03:44 +00:00
Matthew Waters
25dd3b32e5
vulkan: make a gstvulkan library out of the existing API
2019-06-04 09:03:44 +00:00
Mathieu Duponchelle
51ea6ec6b7
docs: document gstreamer-bad-audio
...
And unprefix subproject paths, making a special case for
webrtc, to not conflict with the webrtc plugin
2019-06-01 02:58:09 +00:00
Mathieu Duponchelle
7e5ae06ffe
libs: build a gir file for gstreamer-bad-audio
2019-06-01 02:58:09 +00:00
Mathieu Duponchelle
f9c0367619
mpegtssection: events don't necessarily have a structure
2019-05-30 17:20:12 +02:00
Mathieu Duponchelle
09749192d8
mpegts: extend support for ATSC tables
...
Adds constructors for the following sections:
STT: System Time Table
MGT: Master Guide Table
RRT: Rating Region Table
Also adds parsing code for RRT
2019-05-30 13:53:05 +00:00
Matthew Waters
177aa22bcd
webrtc: Initial support for stream addition/removal
...
Limitations:
- No transport changes at all (ICE, DTLS)
- Codec changes are untested and probably don't work
- Stream removal doesn't remove transports (i.e. non-bundled transports
will stay around until webrtcbin is shutdown)
- Unified Plan SDP only. No Plan-B support.
2019-05-30 21:33:09 +10:00
Matthew Waters
c3c4b07ad3
webrtc/transceiver: add a set_direction function
...
Matches the setDirection() from the W3C spec and allows changing the
transceiver direction at the next negotiation cycle.
2019-05-30 21:33:09 +10:00
Mathieu Duponchelle
da6afdec9c
doc: remove xml from comments
2019-05-29 22:58:08 +02:00
Tim-Philipp Müller
0d59589935
codecparsers: fix debug category initialisation
...
Make thread-safe.
2019-05-25 15:29:25 +02:00
Sebastian Dröge
b3bf3a0d21
webrtc: Add various Since markers to new types after 1.14.0
2019-05-21 12:16:31 +03:00
Thibault Saunier
47a49f3381
docs: Build documentation with hotdoc
2019-05-13 17:00:00 -04:00
Thibault Saunier
7fe3f36ac8
Minor documentation fixes
2019-05-13 11:36:27 -04:00
Niels De Graef
39c8c206be
webrtc: Add g_autoptr() support for public types
2019-05-08 15:47:06 +02:00
Christoph Reiter
22c6a4085f
meson: fix build with opencv=enabled and opencv4. Fixes #964
...
Having the opencv feature enabled would lead to the opencv3 dependency
being required which failed with only opencv4 being available.
Instead don't require anything and error out at the end if the feature was enabled
but no dependency was found.
2019-05-06 07:21:45 +00:00
Christoph Reiter
3a5bcfc593
autotools: gstsctp: set LDFLAGS
...
This fixes the mingw build which failed because of "-no-undefined" missing.
2019-05-05 12:39:01 +02:00
Seungha Yang
bd91ebd6e4
h265parser: Add parsing mastering display colour volume SEI message
...
... and content light level SEI message. Those SEI messages are required
for HDR rendering.
2019-05-03 19:44:15 +00:00
Wangfei
3a0a82a783
h265parser: parse range extension message in SPS/PPS.
...
Range extension message may exist in some extension-profile clips.
2019-04-30 16:09:24 +08:00
Sebastian Dröge
e4b8f21a5a
libs: Fix various Since markers
2019-04-23 15:09:17 +03:00
Sebastian Dröge
5b918e681d
player: Fix various Since markers in the docs
2019-04-23 15:09:03 +03:00
Tim-Philipp Müller
76f1ed15fb
h264parse: extract CEA-708 closed captions
...
Expose SEI data in the H.264 bitstream parser API and
extract closed captions and other things that are not
specified in the H.264 spec itself in the videoparser.
Based on patch by: Mathieu Duponchelle <mathieu@centricular.com>
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/940
2019-04-08 19:21:34 +01:00
Mathieu Duponchelle
55bb8966e1
h265parse: forward time codes
...
This transforms time code SEIs into GstVideoTimeCodeMeta
2019-04-01 10:02:33 +00:00
Mathieu Duponchelle
7c425cf339
h264parse: forward time codes
...
This transforms time codes from the timing SEI into
GstVideoTimeCodeMeta
2019-04-01 10:02:33 +00:00
Niels De Graef
67bb17e4fa
waylandsink: Implement XDG-shell stable support
...
[wl_shell] is officially [deprecated], so provide support for the
XDG-shell protocol should be provided by all desktop-like compositors.
(In case they don't, we can of course fall back to wl_shell).
Note that the [XML spec] is provided by the `wayland-protocols`
git repository, which is provided by the Wayland project.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/897
[wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html
[deprecated]: 698dde1958
[XML spec]: https://github.com/wayland-project/wayland-protocols/blob/master/stable/xdg-shell/xdg-shell.xml
2019-03-04 10:58:54 +00:00
Nicola Murino
26cabf9b1f
opencv: port to c++
2019-02-02 18:34:10 +00:00
Mathieu Duponchelle
85c75bb23b
webrtc: expose ice-transport-policy property
...
This is the equivalent of iceTransportPolicy in the RTCConfiguration
dictionary.
Only two values are implemented:
* all: default behaviour
* relay: only gather relay candidates
The third member of the iceTransportPolicy enum, "public", is
obsolete.
2019-01-23 22:47:51 +00:00
Tim-Philipp Müller
b9e15fddb1
Remove GstVideoAggregator, moved into libgstvideo in -base
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/137
2018-12-26 19:06:33 +01:00
Philippe Normand
b5af1b9f2e
player: Logging fix for updated audio info
...
Bitrate was logged a second time instead of the max_bitrate.
2018-12-22 18:39:44 +01:00
Sebastian Dröge
a171f30ab1
player: Don't crash if playbin is not available but kill the process cleanly
2018-12-10 13:21:43 +02:00
Guillaume Desmottes
64643fdfb4
h265parser: parse SEI recovery point
...
Copied the implementation from h264parser and adapted it to the HEVC
syntax.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/790
2018-12-02 02:07:39 +00:00
Maciej Wolny
465ea32d73
webrtc: Remove duplicate declarations
...
This causes 'redefinition of typedef ...' errors on GCC 4.5.3
2018-11-28 12:24:37 +00:00
Nicola Murino
b0773c6ea7
opencv: make compatible with opencv 4
...
Closed #826
2018-11-26 13:29:03 +00:00
Nicola Murino
890dbb560f
opencv: fix indentation
2018-11-26 13:29:03 +00:00
Russel Winder
0341af78a4
mpegts: Register a number of new boxed types to support auto generation of bindings.
2018-11-08 08:15:41 +00:00
Seungha Yang
52f2054386
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
2018-11-07 18:24:59 +09:00
Seungha Yang
0916e2bb56
h265parser: Fix wrong maximum range check in gst_h265_parse_vps()
...
Fix validation of some syntax.
Fixes #798
2018-11-07 16:06:11 +09:00
Nicolas Dufresne
7d1be36561
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.
2018-11-06 07:26:03 +00:00
Nicolas Dufresne
cf7ea41c75
h264parser: Stop considering 5 bytes NAL complete
...
This is only TRUE for SEQ_END / STREAM_END. Before this patch, passing
any valid 5 bytes of a NAL would make the parser pretend this NAL is
complete.
2018-11-06 07:26:03 +00:00
Russel Winder
4d67ecca33
mpegts: remove insignificant trailing whitespace from lines of files in the MPEG-TS library.
2018-11-05 16:18:26 +00:00
Russel Winder
dcad6d1031
mpegts: Register a boxed type for GstMpegtsContent
2018-11-01 14:39:36 +02:00
Víctor Manuel Jáquez Leal
00acafc209
player: don't change uri when setting subtitle uri
...
https://bugzilla.gnome.org/show_bug.cgi?id=797362
2018-11-01 11:59:59 +01:00
Philippe Normand
de26abc88a
player: API additions for subtitle-video-offset property
...
This new property contols the synchronisation offset between subtitles and video
in nanoseconds.
https://bugzilla.gnome.org/show_bug.cgi?id=797134
2018-11-01 09:52:57 +00:00
Sebastian Dröge
77398f1c27
mpegts: Use gst and gst_mpegts as symbol prefix in the meson build
...
Just like we do in the autotools build.
2018-10-28 11:07:47 +00:00
Sebastian Dröge
ff47ef9ab9
mpegts: Add boxed type for DVB CableDeliverySystem descriptor
2018-10-27 13:59:57 +01:00
Sebastian Dröge
afbbc3a97e
player: Don't set state to READY if we're already stopped
...
Otherwise setting an URI after creation will already set the state
to READY/buffering and disallow setting the configuration.
See https://github.com/servo/servo/issues/22010
2018-10-24 14:36:41 +01:00
Mathieu Duponchelle
9f684a2f81
webrtcbin: implement support for group: BUNDLE
2018-10-15 14:17:35 +02:00
Tim-Philipp Müller
96ac822b67
player: fix deprecated api declaration
2018-09-24 14:46:40 +01:00
Tim-Philipp Müller
b6411ae74c
libs: fix API export/import and 'inconsistent linkage' on MSVC
...
For each lib we build export its own API in headers when we're
building it, otherwise import the API from the headers.
This fixes linker warnings on Windows when building with MSVC.
The problem was that we had defined all GST_*_API decorators
unconditionally to GST_EXPORT. This was intentional and only
supposed to be temporary, but caused linker warnings because
we tell the linker that we want to export all symbols even
those from externall DLLs, and when the linker notices that
they were in external DLLS and not present locally it warns.
What we need to do when building each library is: export
the library's own symbols and import all other symbols. To
this end we define e.g. BUILDING_GST_FOO and then we define
the GST_FOO_API decorator either to export or to import
symbols depending on whether BUILDING_GST_FOO is set or not.
That way external users of each library API automatically
get the import.
While we're at it, add new GST_API_EXPORT in config.h and use
that for GST_*_API decorators instead of GST_EXPORT.
The right export define depends on the toolchain and whether
we're using -fvisibility=hidden or not, so it's better to set it
to the right thing directly than hard-coding a compiler whitelist
in the public header.
We put the export define into config.h instead of passing it via the
command line to the compiler because it might contain spaces and brackets
and in the autotools scenario we'd have to pass that through multiple
layers of plumbing and Makefile/shell escaping and we're just not going
to be *that* lucky.
The export define is only used if we're compiling our lib, not by external
users of the lib headers, so it's not a problem to put it into config.h
Also, this means all .c files of libs need to include config.h
to get the export marker defined, so fix up a few that didn't
include config.h.
This commit depends on a common submodule commit that makes gst-glib-gen.mak
add an #include "config.h" to generated enum/marshal .c files for the
autotools build.
https://bugzilla.gnome.org/show_bug.cgi?id=797185
2018-09-24 14:45:56 +01:00
Tim-Philipp Müller
23feed7545
libs: dist new sctp lib
2018-09-21 16:37:41 +01:00
Edward Hervey
1d6814f54b
gst-libs: Always build sctp mini-library
...
It doesn't depend on any external library
2018-09-21 14:57:35 +02:00
Matthew Waters
07e9374eff
webrtcbin: add support for data channels based on SCTP
...
Mostly follows the W3C specification
https://www.w3.org/TR/webrtc/#peer-to-peer-data-api
With contributions from:
Mathieu Duponchelle <mathieu@centricular.com>
https://bugzilla.gnome.org/show_bug.cgi?id=794351
2018-09-21 19:45:12 +10:00
Matthew Waters
1f662b24a2
sctp*meta: fix api define in gst_sctp_buffer_get_*_meta()
2018-09-21 19:36:52 +10:00
Matthew Waters
88b4ce9fc0
Update sctp plugin for the current build system
...
- Add meson build definitions
- Add necessary API decorators
2018-09-21 19:36:52 +10:00
George Kiagiadakis
e2f06326ea
Add new SCTP plugins (sctpenc/sctpdec)
...
https://bugzilla.gnome.org/show_bug.cgi?id=744863
2018-09-21 19:36:52 +10:00
Philippe Normand
d1ed94491e
player: Set default position and duration value to GST_CLOCK_TIME_NONE
...
When the position query fails the returned value shall remain -1 instead of 0 to
avoid confusion on application side between error and beginning of media.
https://bugzilla.gnome.org/show_bug.cgi?id=797066
2018-09-03 12:11:42 +01:00
Nirbheek Chauhan
cea5e3fcdb
meson: Maintain macOS ABI through dylib versioning
...
Requires Meson 0.48, but the feature will be ignored on older versions
so it's safe to add it without bumping the requirement.
Documentation:
https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
2018-08-31 14:41:00 +05:30
Sebastian Dröge
dad8f75f87
videoaggregator: Make sure to hold object lock while iterating sink pads
...
They might otherwise just change while we iterate.
2018-08-16 10:03:19 +03:00
Bastian Köcher
c73abb0c71
meson: fix install dir for generated header files
...
Nixos installs into a non-standard includedir, so need
to take account of the 'includedir' option instead of
just hard-coding 'include' here.
https://bugzilla.gnome.org/show_bug.cgi?id=794856
2018-08-10 12:57:47 +01:00
Nicolas Dufresne
9a2e0de9af
badaudio: Fix typo, ADUIO vs AUDIO
2018-08-03 08:16:19 -04:00
Nicolas Dufresne
7aaab9bca6
GstPlanarAudioAdapter: Add audio library in Makefile.am
...
This fixes a build regression.
2018-08-03 07:58:59 -04:00
George Kiagiadakis
0591bc934a
GstPlanarAudioAdapter: copy pts, dts and offset tracking from GstAdapter
...
https://bugzilla.gnome.org/show_bug.cgi?id=793605
2018-08-03 13:20:09 +03:00
George Kiagiadakis
9cf58eb3e4
libs: audio: add new GstPlanarAudioAdapter class
...
This is a GstAdapter, but for planar audio buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=793605
2018-08-03 13:20:02 +03:00
Nicolas Dufresne
9c91282ba6
opencv: Updated to use new header path
2018-08-02 11:31:34 -04:00
Nicolas Dufresne
cabf875098
opencv: Bump requirement to 3.0.0+
...
And removes all the ifdef code to support the 2.X APIs.
2018-08-02 11:31:34 -04:00
Nirbheek Chauhan
b55dfb5313
Add feature options for almost all plugins
...
The only plugins remaining are those that haven't been ported to Meson
yet, and msdk. Also, the tests are still automagic.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 19:04:38 +05:30
Jan Schmidt
cb750efd6c
webrtc: Move dtlssrtpenc state management
...
Move the errant piece of dtlssrtpenc state change
management from dtlstransport in the Webrtc libs,
into the transportsendbin that does the rest of
the element management so it's all in one place.
2018-07-14 23:18:50 +10:00
Jan Schmidt
3a6777d599
webrtc/dtlstransport: Add more debug. Rename category
...
Rename the dtlstransport debug category to webrtcdtlstransport.
2018-07-14 23:18:40 +10:00
Roland Jon
d5aabd0f58
player: Avoid trying to join the player thread from itself
...
https://bugzilla.gnome.org/show_bug.cgi?id=796731
2018-07-02 15:27:17 +03:00
Tim-Philipp Müller
86c1a7b4ad
libs: Update for g_type_class_add_private() deprecation in recent GLib
2018-06-24 12:19:17 +02:00
Tim-Philipp Müller
fc4f861d48
videoaggregator: Update for g_type_class_add_private() deprecation in recent GLib
2018-06-24 01:47:29 +02:00
Seungha Yang
9e981ed503
videoaggregator: Fix string leak
...
gst_video_colorimetry_to_string() returns allocated memory which
must be freed.
https://bugzilla.gnome.org/show_bug.cgi?id=796596
2018-06-15 10:17:14 -04:00
Mathieu Duponchelle
0178354e6e
gst_webrtc_session_description_new: fix annotations
2018-06-11 18:34:59 +02:00
Tim-Philipp Müller
06e50313ad
videoaggregator: log an ERROR if we're going to return a flow error
2018-06-11 13:48:09 +01:00
Thibault Saunier
4c97eb10bc
webrtc: Fix wrong parent classes for DTLSTransport and ICETransport
...
Those are GObjects not GstBins
2018-06-05 14:11:24 -04:00
Lyon Wang
92576e7db8
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
2018-06-04 21:06:28 +03:00
Sreerenj Balachandran
700d6782ce
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
2018-06-01 08:17:09 +02:00
Hosang Lee
9992564102
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
2018-05-28 16:02:45 +02:00
Russel Winder
bfe26464c9
mpegts: Add GIR generation array anotations
...
For function parameters that are known to be arrays.
https://bugzilla.gnome.org/show_bug.cgi?id=796221
2018-05-19 11:06:14 +02:00
Antoine Jacoutot
5c7719ea74
libs: g-ir-scanner: do not hardcode libtool path
...
https://bugzilla.gnome.org/show_bug.cgi?id=726571
2018-05-18 14:49:53 +02:00
Olivier Crête
feb6002680
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
2018-05-16 22:24:18 +02:00
Seungha Yang
a8cb7662d7
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
2018-05-12 09:27:46 +02:00
Mathieu Duponchelle
5c450c5992
webrtcbin: implement support for FEC and RTX
...
https://bugzilla.gnome.org/show_bug.cgi?id=795044
2018-05-09 14:46:14 +02:00
Sebastian Dröge
2308c9555a
videoaggregator: Set video-meta option on buffer pool configuration correctly
...
CID 1435451
2018-05-07 17:53:32 +03:00
Sebastian Dröge
e21481e301
videoaggregator: First override set/get_property vfuncs, then install properties
...
Gives assertions otherwise.
2018-05-07 09:17:16 +02:00
Sebastian Dröge
cd49913283
videoaggregator: Some more documentation fixes
2018-05-06 16:49:57 +02:00
Mathieu Duponchelle
67a495c324
videoaggregator: expose converter-config on convert pads
...
This in order to allow users control over the conversion
process, for example the scaling method.
2018-05-06 16:45:43 +02:00
Sebastian Dröge
fecbc713f4
videoaggregator: Fix up documentation some more
2018-05-06 16:43:32 +02:00
Sebastian Dröge
d235133c88
videoaggregator: Clean up header and update docs a bit
2018-05-06 16:22:01 +02:00
Sebastian Dröge
4249cb5768
videoaggregator: Rename get_output_buffer() to create_output_buffer()
...
For consistency with GstAudioAggregator.
2018-05-06 16:05:28 +02:00
Sebastian Dröge
e6c80d94f1
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.
2018-05-06 15:49:36 +02:00
Sebastian Dröge
ea5de0d757
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.
2018-05-06 15:22:51 +02:00