summaryrefslogtreecommitdiff
path: root/meson_options.txt
Commit message (Collapse)AuthorAgeFilesLines
* aes: add aes encryption and decryption elementsAaron Boxer2021-08-251-0/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1505>
* Introduce Steinberg ASIO (Audio Streaming Input/Output) pluginSeungha Yang2021-07-261-0/+2
| | | | | | | | | | | | | | | Adds a new plugin for ASIO devices. Although there is a standard low-level audio API, WASAPI, on Windows, ASIO is still being broadly used for audio devices which are aiming to professional use case. In case of such devices, ASIO API might be able to show better quality and latency performance depending on manufacturer's driver implementation. In order to build this plugin, user should provide path to ASIO SDK as a build option, "asio-sdk-path". Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2309>
* msdk: allow user build this plugin against MFX version 2.2+ (oneVPL)Haihao Xiang2021-05-171-0/+4
| | | | | | | | | | | | | | Intel oneVPL SDK (oneVPL) is a successor to Intel Media SDK (MSDK)[1]. User may use -Dmfx_api=MSDK or -Dmfx_api=oneVPL to specify the required SDK when building this plugin. If the SDK is not specified, meson will try MSDK firstly, then oneVPL if MSDK is not available Version 2.2+ is required in this patch because pkg-config file was not provided officially before version 2.2 [1]https://spec.oneapi.com/versions/latest/elements/oneVPL/source/appendix/VPL_intel_media_sdk.html Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1503>
* Introduce CODEC Alpha pluginNicolas Dufresne2021-05-111-0/+1
| | | | | | | This plugin contains a set of utility elements allowing to extract, decode and combine CODEC (typically VP8/VP9) alpha stream. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2199>
* onnx: add plugin to apply ONNX neural network models to videoAaron Boxer2021-04-271-0/+1
| | | | | | | | | | | | | | This MR provides a transform element that leverage ONNX runtime to run AI inference on a broad range of neural network toolkits, running on either CPU or GPU. ONNX supports 16 different providers at the moment, so with ONNX we immediately get support for Nvidia, AMD, Xilinx and many others. For the first release, this plugin adds a gstonnxobjectdetector element to detect objects in video frames. Meta data generated by the model is attached to the video buffer as a custom GstObjectDetectorMeta meta. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1997>
* gs: add source and sink for Google Cloud StorageJulien2021-03-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Useful when having a service that runs a GStreamer pipeline or application in Google Cloud to avoid storing the inputs and outputs in the running container or service. For example when analyzing a video from a Google Cloud Storage bucket and extracting images or converting the video and then uploading the results into another Google Cloud Storage bucket. - gssrc allows to read from a file located in Google Cloud Storage and it supports seeking. - gssink allows to write to a file located in Google Cloud Storage. There are 2 modes, one similar to multifilesink and the other similar to filesink. Example: gst-launch-1.0 gssrc location=gs://mybucket/videos/sample.mp4 ! decodebin ! glimagesink gst-launch-1.0 playbin uri=gs://mybucket/videos/sample.mp4 gst-launch-1.0 videotestsrc num-buffers=5 ! pngenc ! gssink object-name="img/img%05d.png" bucket-name="mybucket" next-file=buffer gst-launch-1.0 filesrc location=sample.mp4 ! gssink object-name="videos/video.mp4" bucket-name="mybucket" next-file=none When running locally simply set GOOGLE_APPLICATION_CREDENTIALS. But when running in Google Cloud Run or Google Cloud Engine, just set the "service-account-email" property on each element. Closes #1264 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1369>
* play: tests: Refactor to use new Message bus APIPhilippe Normand2021-03-091-2/+2
| | | | | | | | | Instead of relying on an extra GMainLoop, the messages are poped from the player bus and handled synchronously. This should avoid flaky behaviors. Fixes #608 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
* openaptx: Drop lib prefix from option name for consistencyArun Raghavan2020-12-111-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1876>
* openaptx: add aptX and aptX-HD codecs using libopenaptxIgor Kovalenko2020-12-111-0/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1871>
* ext: Add LDAC encoderSanchayan Maity2020-11-111-0/+1
| | | | | | | | | | LDAC is an audio coding technology developed by Sony that enables the transmission of High-Resolution (Hi-Res) audio contents over Bluetooth. Currently Adaptive Bit Rate (ABR) as supported by libldac encoder is not implemented. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621>
* qroverlay: Import from gst-qroverlayThibault Saunier2020-11-111-0/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
* isac: add iSAC pluginGuillaume Desmottes2020-10-291-0/+1
| | | | | | | Wrapper on the iSAC reference encoder and decoder from webrtc, see https://en.wikipedia.org/wiki/Internet_Speech_Audio_Codec Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1124>
* sctp: hook up internal copy of libusrsctp to buildTim-Philipp Müller2020-08-141-0/+4
| | | | | | | | | Add option 'sctp-internal-usrsctp' so people can choose to build againts the distro version instead. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/870 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1465>
* va: VA-API H.264 decoder and infrastructureVíctor Manuel Jáquez Leal2020-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | New plugin with an element for H.264 decoding with VA-API. This novel approach, different from gstreamer-vaapi, uses gstcodecs library for state handling. The code is expected to looks cleaner because it uses VA-API without further layers or wrappers. * It uses the first supported DRM device as default VA display (other displays will be supported through user's GstContext) * Requires libva >= 1.6 * No multiview/stereo profiles neither interlaced streams because gstcodecs doesn't handle them yet * It is incompatible with gstreamer-vaapi * Even if memory:VAMemory is exposed, it is not handled yet by any other element * Caps templates are generated dynamically querying VAAPI, but YV12 and I420 are added for system memory caps because they seem to be supported for all the drivers when downloading frames onto main memory, as they are used by xvimagesink and others, avoiding color conversion. * Surfaces aren't bounded to context, so they can grow beyond the DBP size, allowing smooth reverse playback. * There isn't yet error handling and recovery. * 10-bit H.264 streams aren't supported by libva. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1379>
* dvbsubenc: Add DVB Subtitle encoderJan Schmidt2020-06-171-0/+1
| | | | | | | | | | | | | | | | | | | | Add an element that converts AYUV video frames to a DVB subpicture stream. It's fairly simple for now. Later it would be good to support input via a stream that contains only GstVideoOverlayComposition meta. The element searches each input video frame for the largest sub-region containing non-transparent pixels and encodes that as a single DVB subpicture region. It can also do palette reduction of the input frames using code taken from libimagequant. There are various FIXME for potential improvements for now, but it works. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1227>
* yadif: remove plugin, there's now deinterlace method=yadifTim-Philipp Müller2020-06-111-1/+0
| | | | | | | | | | | | | | Plugin code was still the GPL version, and the functionality has now been moved into the deinterlace element in gst-plugins-good as method=yadif (and LGPL). See https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/444 and https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/621 Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/216 Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/463 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1336>
* wasapi2: Introduce new WASAPI pluginSeungha Yang2020-06-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | Add a new wasapi implementation mainly to support UWP application. Basically the core logic of this plugin is almost identical to existing wasapi plugin, but main target is Windows 10 (+ UWP). Since this plugin uses WinRT APIs, this plugin most likely might not work Windows 8 or lower. Compared with existing wasapi plugin, additional features of this plugin are * Fully compatible with both Windows 10 desktop and UWP application * Supports automatic stream routing (auto fallback when device was removed) * Support device level mute/volume control But some features of existing wasapi plugin are not implemented in this plugin yet * Exclusive streaming mode is not supported * Loopback feature is not implemented * Cross-compile is not possible with current mingw toolchain (meaning that MSVC and Windows 10 SDK are required to build this plugin) Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264>
* mediafoundation: Introduce Microsoft Media Foundation pluginSeungha Yang2020-04-281-0/+1
| | | | | | | | | | | | The Microsoft Media Foundation (MF) is the successor of DirectShow. This commit includes two kinds of video capture implementation, one uses IMFSourceReader interface which is available since Windows Vista and the other is based on IMFCaptureEngine interface which is available since Windows 8. Note that this new video source element cannot be used in UWP app for now, since device activation using those APIs are not allowed by MS. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760>
* Meson: Change extra-checks to feature option and make it yieldingXavier Claessens2020-04-081-1/+1
|
* v4l2codecs: Add device enumerationNicolas Dufresne2020-03-311-0/+1
| | | | | | | | | This introduces a GstV4L2CodecDevice structure and helper to retrieve a list of CODEC device drivers. In order to find the device driver we enumerate all media devices with UDEV. We then get the media controller topology and locate a entity with function encoder or decoder and make sure it is linked to two V4L2 IO entity pointing to the same device node.
* zxing: initial plugin revisionStéphane Cerveau2020-01-071-1/+2
| | | | | | Status: - scan QR code with low resolution - Scan barcode with high resolution
* svthevcenc: Add new SVT-HEVC encoder elementYeongjin Jeong2019-12-201-0/+1
| | | | | | | | | The SVT-HEVC (Scalable Video Technology[0] for HEVC) Encoder is an open source video coding technology[1] that is highly optimized for Intel Xeon Scalable processors and Intel Xeon D processors. [0] https://01.org/svt [1] https://github.com/OpenVisualCloud/SVT-HEVC
* vulkan: implement caching and reuse of a couple of vulkan resourcesMatthew Waters2019-11-281-0/+1
| | | | | | | | | | | | Includes a new GstVulkanHandlePool base class for pooling different resources togther. The descriptor cache object is ported to GstVulkanHandlePool with the exact same functionality. A new GstVulkanFenceCache is also implemented for caching fences which is used internally by GstVulkanDevice for creating or reusing fences. The existing GstVulkanTrashFenceList object now caches trash objects.
* switchbin: Initial checkinJan Schmidt2019-11-131-0/+1
| | | | | | Add code from Stream Unlimited implementing a bin which switches between different internal decoding/processing chains based on input caps
* amc: Add MLSDK implementationXavier Claessens2019-11-081-0/+1
|
* Add files from gst-rtmpVivia Nikolaidou2019-11-051-0/+1
| | | | For master, without autotools.
* ext: add libmicrodns-based mdns device providerMathieu Duponchelle2019-10-081-0/+1
| | | | | The provider for now only detects and handles rtsp devices, but more protocols should be easy to add.
* Import GstTranscoderSaunier Thibault2019-08-281-0/+1
|
* nvdec,nvenc: Port to dynamic library loadingSeungha Yang2019-07-081-2/+1
| | | | | | | | | | | | | | | | | | | | | | ... and put them into new nvcodec plugin. * nvcodec plugin Now each nvenc and nvdec element is moved to be a part of nvcodec plugin for better interoperability. Additionally, cuda runtime API header dependencies (i.e., cuda_runtime_api.h and cuda_gl_interop.h) are removed. Note that cuda runtime APIs have prefix "cuda". Since 1.16 release with Windows support, only "cuda.h" and "cudaGL.h" dependent symbols have been used except for some defined types. However, those types could be replaced with other types which were defined by "cuda.h". * dynamic library loading CUDA library will be opened with g_module_open() instead of build-time linking. On Windows, nvcuda.dll is installed to system path by CUDA Toolkit installer, and on *nix, user should ensure that libcuda.so.1 can be loadable (i.e., via LD_LIBRARY_PATH or default dlopen path) Therefore, NVIDIA_VIDEO_CODEC_SDK_PATH env build time dependency for Windows is removed.
* d3d11videosink: Add new Direct3D11 video render pluginSeungha Yang2019-07-081-0/+1
| | | | | | | | | | Direct3D11 was shipped as part of Windows7 and it's obviously primary graphics API on Windows. This plugin includes HDR10 rendering if following requirements are satisfied * IDXGISwapChain4::SetHDRMetaData is available (decleared in dxgi1_5.h) * Display can support DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_P2020 color space * Upstream provides 10 bitdepth format with smpte-st 2084 static metadata
* avtp: AVTP plugin bootstrap codeAndre Guedes2019-07-031-0/+1
| | | | | | | | | | | | | | | This patch introduces the bootstrap code from the AVTP plugin (plugin definition and init) as well as the build system files. Upcoming patches will introduce payloaders, source and sink elements provided by the AVTP plugin. These elements can be utilized by a GStreamer pipeline to implement TSN audio/video applications. Regarding the plugin build system files, both autotools and meson files are introduced. The AVTP plugin is landed in ext/ since it has an external dependency on libavtp, an opensource AVTP packetization library. For further information about libavtp check [1]. [1] https://github.com/AVnu/libavtp
* Remove VDPAU pluginTim-Philipp Müller2019-06-061-1/+0
| | | | | | | | | | | | | It's been replaced by NVENC/NVDEC and even NVIDIA doesn't support VDPAU any longer and hasn't for quite some time. The plugin has been unmaintained and unsupported for a very long time, and given the track record over the last 10 years it seems highly unlikely anyone is going to make it work well, not to mention adding plumbing for proper zero-copy or gst-gl integration. Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/828
* rtpmanagerbad: add RTP streaming elementsMarc Leeman2019-06-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a re-implementation of the RTP elements that are submitted in 2013 to handle RTP streams. The elements handle a correct connection for the bi-directional use of the RTCP sockets. https://bugzilla.gnome.org/show_bug.cgi?id=703111 The rtpsink and rtpsrc elements add an URI interface so that streams can be decoded with decodebin using the rtp:// interface. The code can be used as follows ``` gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=3 ! rtpsink uri=rtp://239.1.1.1:1234 gst-launch-1.0 videotestsrc ! x264enc ! rtph264pay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000 gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=H264 ! rtph264depay ! avdec_h264 ! videoconvert ! xvimagesink gst-launch-1.0 videotestsrc ! avenc_mpeg4 ! rtpmp4vpay config-interval=1 ! rtpsink uri=rtp://239.1.2.3:5000 gst-launch-1.0 rtpsrc uri=rtp://239.1.2.3:5000?encoding-name=MP4V-ES ! rtpmp4vdepay ! avdec_mpeg4 ! videoconvert ! xvimagesink ``` rtpmanagerbad: add pkg-config rtpmanagerbad: Rtp should be uppercase rtpmanagerbad: add G_OS_WIN32 for shielding unix headers rtpmanagerbad: remove Since from documentation rtpmanagerbad: rename lib name from nrtp to rtpmanagerbad rtpmanagerbad: sync meson.build with other modules rtpmanagerbad: add Makefile.am rtpmanagerbad: use GstElement to count pads rtpmanagerbad: use gst_bin_set_suppressed_flags rtpmanagerbad: check element creation rtpmanagerbad: post message when trying to access missing rtpbin rtpmanagerbad: return FALSE with g_return tests rtpmanagerbad: use gsocket multicast check rtpmanagerbad: use gst_caps_new_empty_simple iso gst_caps_from_string rtpmanagerbad: sync with gstrtppayloads.h rtpmanagerbad: correct media type X-GST rtpmanagerbad: test if a compatible pad was found rtpmanagerbad: remove evil copy of GstRTPPayloadInfo rtpmanagerbad: add gio_dep to meson rtpmanagerbad: revert to old glib boilerplate GStreamer 1.16 does not yet support the newer GLib templates, so revert. rtpmanagerbad: return GST_STATE_CHANGE_NO_PREROLL for live sources for live sources, NO_PREROLL should be returned for PLAYING->PAUSED and READY->PAUSED transitions. rtpmanagerbad: use GstElement pad counting rtpmanagerbad: just use template name to request pad rtpmanagerbad: remove commented code rtpmanagerbad: use funnel to send multiple streams on one socket rtpmanagerbad: avoid beaches beaches should only be used during the summer, so rewrite the code to return explicitly and avoid beaches during the winter. rtpmanagerbad: add copyright to test code rtpmanagerbad: g_free is NULL safe rtpmanagerbad: do not trace rtpbin rtpmanagerbad: return NULL explitly rtpmanagerbad: warn when data port is not even According to RFC 3550, RTP data should be sent on even ports, while RTCP is sent on the following odd port. rtpmanagerbad: document port allocation in rtpsink/src rtpmanagerbad: improve uri description rtpmanagerbad: add comment re-use socket rtpmanagerbad: rename gst_object_set_properties_from_uri_query rtpmanagerbad: loan prop/val setter from rist rtpmanagerbad: rtpsrc: fix unitialised pointer rtpmanagerbad: fix silly typo rtpmanagerbad: test for empty key/value rtpmanagerbad: rtpsrc: deprecate ssrc collision to INFO rtpmanagerbad: sync debug with rist rtpmanagerbad: small strings allocated on stack rtpmanagerbad: correct rename rtpmanagerbad: add locking on prop setters/getters Locking is added because the URI allows to access the properties too. rtpmanagerbad: allow for RTCP through NAT rtpmanagerbad: move gio to header file rtpmanagerbad: free small strings too rtpmanagerbad: ttl_mc for ttl on dynudpsink rtpmanagerbad: add comments on the URI registered rtpmanagerbad: correct macro after file rename rtpmanagerbad: code style rtpmanagerbad: handle wrong URIs in setter rtpmanagerbad: nit URI notation correction In an URI, the first key/value pair should not have an ampersand, the parser did not die though.
* docs: Build documentation with hotdocThibault Saunier2019-05-131-0/+2
|
* meson: Add support for the colormanagement pluginThibault Saunier2019-05-051-0/+1
| | | | Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/965
* rist: Add a plugin implenting RIST TR-06-1 Simple ProfileNicolas Dufresne2019-05-021-0/+1
| | | | | | | | | | | | | | | | RIST TR-06-1 is a specification for video streaming made by the VSF group. It is using a subset of RTP specification to which some modification has been made to improve RTX behaviour and avoid any need for signaling. The plugin implement ristrtxsend / ristrtxreceive element which are the RIST specific equivalent of rtprtxsend/rtprtxreceive and ristsink / ristsrc which implement rist transmitter and receiver. The RIST protocol is meant to be used in unidirectional way. Typically, MPEG TS over RTP is used. Currently we support unicast and multicast streaming according to the specification. This patch does not include any bonding support yet. The ristsrc element introduce rist:// URI handling in parallel to it's property configuration interface.
* vcdsrc: Remove unusable VCD sourceBastien Nocera2019-02-181-1/+0
| | | | | | | | | | | | | | | | | | The VCD source was ported in 2014 (commit 89eb1e9), but the necessary "cdxaparse" plugin, which is used to "Parse a .dat file (VCD) into raw mpeg1" was never ported. This means that the probable main user for the feature, totem, hasn't actually been able to play back VCDs, since 2012, when it switched to using GStreamer 1.0. Note that even if cdxaparse was finally ported, a lot of work would still be necessary before it is considered usable. Notably, it is missing disc image support [1] and some VCDs just cannot be opened for reading [2]. [1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/898 [2]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/899
* Remove openglmixers plugin, moved to -baseTim-Philipp Müller2018-12-281-1/+1
| | | | Merged into the existing opengl plugin in -base.
* Remove compositor plugin which was moved to -baseTim-Philipp Müller2018-12-271-1/+0
| | | | https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/138
* stereo: remove plugin which has been merged into audiofx in -goodTim-Philipp Müller2018-12-251-1/+0
| | | | https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/457
* meson: build openni2 pluginTim-Philipp Müller2018-12-171-0/+1
|
* meson: build openmpt pluginTim-Philipp Müller2018-12-171-0/+1
|
* meson: build openexr pluginTim-Philipp Müller2018-12-171-0/+1
|
* meson: build openal pluginTim-Philipp Müller2018-12-171-0/+1
|
* meson: build sndfile pluginTim-Philipp Müller2018-12-171-0/+1
|
* meson: build voamrwbenc pluginTim-Philipp Müller2018-12-171-0/+1
|
* meson: build teletext pluginTim-Philipp Müller2018-12-171-0/+1
|
* meson: build modplug pluginTim-Philipp Müller2018-12-171-0/+1
|
* meson: build wildmidi pluginTim-Philipp Müller2018-12-171-0/+1
|
* meson: build dc1394 pluginTim-Philipp Müller2018-12-171-0/+1
|