Generate plugins documentation using hotdoc

Which will automatically be integrated in gstreamer documentation
This commit is contained in:
Thibault Saunier 2022-08-25 18:30:08 -04:00
parent 25465fd9f3
commit 31a53bba8a
88 changed files with 6966 additions and 5 deletions

View file

@ -38,6 +38,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -33,7 +33,7 @@ static CAT: Lazy<gst::DebugCategory> = Lazy::new(|| {
});
#[glib::flags(name = "EbuR128LevelMode")]
enum Mode {
pub(crate) enum Mode {
#[flags_value(name = "Calculate momentary loudness (400ms)", nick = "momentary")]
MOMENTARY = 0b00000001,
#[flags_value(name = "Calculate short-term loudness (3s)", nick = "short-term")]

View file

@ -16,6 +16,9 @@ glib::wrapper! {
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(feature = "doc")]
imp::Mode::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
gst::Element::register(
Some(plugin),
"ebur128level",

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-rsaudiofx:
*
* Since: plugins-rs-0.1
*/
use gst::glib;
mod audioecho;

View file

@ -30,6 +30,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-claxon:
*
* Since: plugins-rs-0.6.0
*/
use gst::glib;
mod claxondec;

View file

@ -34,6 +34,7 @@ gst-plugin-version-helper = { path = "../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-csound:
*
* Since: plugins-rs-0.6.0
*/
use gst::glib;
mod filter;

View file

@ -30,6 +30,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -11,6 +11,11 @@
use gst::glib;
/**
* plugin-lewton:
*
* Since: plugins-rs-0.6.0
*/
mod lewtondec;
fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {

View file

@ -28,6 +28,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-spotify:
*
* Since: plugins-rs-0.8.0
*/
use gst::glib;
mod spotifyaudiosrc;

View file

@ -23,6 +23,7 @@ PARSER.add_argument('libdir', type=P)
PARSER.add_argument('--version', default=None)
PARSER.add_argument('--exts', nargs="+", default=[])
PARSER.add_argument('--depfile')
PARSER.add_argument('--disable-doc', action="store_true", default=False)
def generate_depfile_for(libfile):
@ -76,6 +77,8 @@ if __name__ == "__main__":
cargo_cmd = ['cargo', 'cbuild']
if opts.target == 'release':
cargo_cmd.append('--release')
if not opts.disable_doc:
cargo_cmd += ['--features', "doc"]
elif opts.command == 'test':
# cargo test
cargo_cmd = ['cargo', 'ctest', '--no-fail-fast', '--color=always']

111
docs/meson.build Normal file
View file

@ -0,0 +1,111 @@
build_hotdoc = false
if meson.is_cross_build()
if get_option('doc').enabled()
error('Documentation enabled but building the doc while cross building is not supported yet.')
endif
message('Documentation not built as building it while cross building is not supported yet.')
subdir_done()
endif
if static_build
if get_option('doc').enabled()
error('Documentation enabled but not supported when building statically.')
endif
message('Building statically, can\'t build the documentation')
subdir_done()
endif
required_hotdoc_extensions = ['gst-extension']
if gst_dep.type_name() == 'internal'
gst_proj = subproject('gstreamer')
plugins_cache_generator = gst_proj.get_variable('plugins_cache_generator')
else
plugins_cache_generator = find_program(join_paths(gst_dep.get_variable('libexecdir'), 'gstreamer-1.0' , 'gst-plugins-doc-cache-generator'),
required: false)
if not plugins_cache_generator.found()
plugins_cache_generator = find_program('gst-plugins-doc-cache-generator', required: false)
endif
endif
libs_doc = []
plugins_cache = join_paths(meson.current_source_dir(), 'plugins', 'gst_plugins_cache.json')
if plugins.length() == 0
message('All base plugins have been disabled')
elif plugins_cache_generator.found()
plugins_paths = []
foreach plugin: plugins
plugins_paths += [plugin.full_path()]
endforeach
# We do not let gstreamer update our cache
_plugins_doc_dep = custom_target('rs-plugins-doc-cache',
command: [plugins_cache_generator, plugins_cache, '@OUTPUT@', plugins_paths],
input: plugins,
output: 'gst_plugins_cache.json',
build_always_stale: true,
)
else
warning('GStreamer plugin inspector for documentation not found, can\'t update the cache')
endif
hotdoc_p = find_program('hotdoc', required: get_option('doc'))
if not hotdoc_p.found()
message('Hotdoc not found, not building the documentation')
subdir_done()
endif
hotdoc_req = '>= 0.11.0'
hotdoc_version = run_command(hotdoc_p, '--version', check: false).stdout()
if not hotdoc_version.version_compare(hotdoc_req)
if get_option('doc').enabled()
error('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
else
message('Hotdoc version @0@ not found, got @1@'.format(hotdoc_req, hotdoc_version))
subdir_done()
endif
endif
hotdoc = import('hotdoc')
foreach extension: required_hotdoc_extensions
if not hotdoc.has_extensions(extension)
if get_option('doc').enabled()
error('Documentation enabled but @0@ missing'.format(extension))
endif
message('@0@ extension not found, not building documentation'.format(extension))
subdir_done()
endif
endforeach
build_hotdoc = true
plugins_doc = []
sitemap = 'all_index.md\n'
list_plugin_res = run_command(python3, '-c',
'''
import sys
import json
with open("@0@") as f:
print(':'.join(json.load(f).keys()), end='')
'''.format(plugins_cache),
check: true)
foreach plugin_name: list_plugin_res.stdout().split(':')
plugins_doc += [hotdoc.generate_doc(plugin_name,
project_version: '1.0',
sitemap: 'plugins/sitemap.txt',
index: 'plugins/index.md',
gst_index: 'plugins/index.md',
gst_smart_index: true,
gst_c_sources: [
'../*/*/*/*.rs',
'../*/*/*/*/*.rs',
],
dependencies: [gst_dep],
gst_order_generated_subpages: true,
gst_cache_file: plugins_cache,
gst_plugin_name: plugin_name,
)]
sitemap += ' @0@-doc.json\n'.format(plugin_name)
endforeach

View file

@ -0,0 +1,5 @@
---
short-description: Plugins from gst-plugins-rs
...
# Plugins

File diff suppressed because it is too large Load diff

0
docs/plugins/index.md Normal file
View file

1
docs/plugins/sitemap.txt Normal file
View file

@ -0,0 +1 @@
gst-index

View file

@ -25,6 +25,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-rsfile:
*
* Since: plugins-rs-0.1.0
*/
use gst::glib;
mod file_location;

View file

@ -33,6 +33,8 @@ glib::wrapper! {
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
FMP4Mux::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
HeaderUpdateMode::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
gst::Element::register(
Some(plugin),
"isofmp4mux",

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-fmp4:
*
* Since: plugins-rs-0.8.0
*/
use gst::glib;
mod fmp4mux;

View file

@ -59,6 +59,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -21,6 +21,11 @@
// SPDX-License-Identifier: MIT
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-sodium:
*
* Since: plugins-rs-0.5.0
*/
use gst::glib;
const TYPEFIND_HEADER: &[u8; 12] = b"gst-sodium10";

View file

@ -66,6 +66,7 @@ pkg-config = "0.3.15"
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -506,6 +506,12 @@ impl ObjectImpl for AppSrc {
Some(appsrc.push_buffer(&element, buffer).to_value())
})
.build(),
/**
* ts-appsrc::end-of-stream:
* @self: A ts-appsrc
*
* Returns: %TRUE if the EOS could be queued, %FALSE otherwise
*/
glib::subclass::Signal::builder("end-of-stream")
.return_type::<bool>()
.action()

View file

@ -7,6 +7,12 @@
//!
//! [`runtime`]: runtime/index.html
/**
* plugin-threadshare:
*
* Since: plugins-rs-0.4.0
*/
#[macro_use]
pub mod runtime;

View file

@ -2,7 +2,7 @@ project('gst-plugins-rs',
'rust',
'c',
version: '0.13.0',
meson_version : '>= 0.56')
meson_version : '>= 0.60')
if get_option('debug')
target = 'debug'
@ -126,7 +126,8 @@ if get_option('default_library') == 'shared' or get_option('default_library') ==
endforeach
endif
if get_option('default_library') == 'static' or get_option('default_library') == 'both'
static_build = get_option('default_library') == 'static'
if static_build or get_option('default_library') == 'both'
extensions += [ext_static]
foreach p, lib : plugins
output += [lib + '.' + ext_static]
@ -161,6 +162,7 @@ deps = [
foreach d: deps
dep = dependency(d[0], version : gst_req,
fallback : [d[1], d[2]])
set_variable(d[2], dep)
if dep.type_name() == 'internal'
lib = subproject(d[1]).get_variable(d[3])
depends += lib
@ -179,6 +181,11 @@ extra_env_str = ','.join(extra_env_list)
plugins_install_dir = get_option('libdir') / 'gstreamer-1.0'
pkgconfig_install_dir = get_option('libdir') / 'pkgconfig'
if get_option('doc').disabled()
disable_doc = ['--disable-doc']
else
disable_doc = []
endif
python = import('python').find_installation()
rs_plugins = custom_target('gst-plugins-rs',
@ -201,10 +208,12 @@ rs_plugins = custom_target('gst-plugins-rs',
get_option('libdir'),
'--depfile', '@DEPFILE@',
'--exts', extensions,
])
] + disable_doc)
plugins = rs_plugins.to_list()
subdir('docs')
# We don't need to pass a command as we depends on the target above
# but it is currently mandatory ( https://github.com/mesonbuild/meson/issues/8059 )
# so use python as it's guaranteed to be present on any setup
@ -222,7 +231,7 @@ test('tests',
args: ['test',
meson.current_build_dir(),
meson.current_source_dir(),
meson.build_root(),
meson.global_build_root(),
target,
include,
extra_env_str,

View file

@ -5,3 +5,7 @@ option('sodium', type : 'combo',
description : 'Weither to use libsodium from the system or the built-in version from the sodiumoxide crate')
option('csound', type : 'feature', value : 'auto', description : 'Build csound plugin')
option('gtk4', type : 'feature', value : 'auto', description : 'Build GTK4 plugin')
# Common options
option('doc', type : 'feature', value : 'auto', yield: true,
description: 'Enable documentation.')

View file

@ -51,6 +51,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -49,6 +49,13 @@ glib::wrapper! {
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(feature = "doc")]
{
AwsTranscriberResultStability::static_type()
.mark_as_plugin_api(gst::PluginAPIFlags::empty());
AwsTranscriberVocabularyFilterMethod::static_type()
.mark_as_plugin_api(gst::PluginAPIFlags::empty());
}
gst::Element::register(
Some(plugin),
"awstranscriber",

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-aws:
*
* Since: plugins-rs-0.1
*/
use gst::glib;
mod aws_transcribe_parse;

View file

@ -917,6 +917,8 @@ impl GstObjectImpl for S3Sink {}
impl ElementImpl for S3Sink {
fn metadata() -> Option<&'static gst::subclass::ElementMetadata> {
static ELEMENT_METADATA: Lazy<gst::subclass::ElementMetadata> = Lazy::new(|| {
#[cfg(feature = "doc")]
OnError::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
gst::subclass::ElementMetadata::new(
"Amazon S3 sink",
"Source/Network",

View file

@ -31,6 +31,7 @@ glib::wrapper! {
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(not(feature = "doc"))]
gst::Element::register(
Some(plugin),
"rusotos3sink",

View file

@ -16,6 +16,7 @@ glib::wrapper! {
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(not(feature = "doc"))]
gst::Element::register(
Some(plugin),
"rusotos3src",

View file

@ -32,6 +32,7 @@ path = "src/lib.rs"
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -7,7 +7,13 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-hlssink3:
*
* Since: plugins-rs-0.8.0
*/
use glib::prelude::*;
use gst::prelude::*;
mod imp;
mod playlist;
@ -41,6 +47,9 @@ glib::wrapper! {
}
pub fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(feature = "doc")]
HlsSink3PlaylistType::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
gst::Element::register(
Some(plugin),
"hlssink3",

View file

@ -32,6 +32,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-rsonvif:
*
* Since: plugins-rs-0.9.0
*/
use gst::glib;
use once_cell::sync::Lazy;

View file

@ -30,6 +30,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -7,6 +7,11 @@
#![allow(clippy::non_send_fields_in_send_ty)]
#![doc = include_str!("../README.md")]
/**
* plugin-raptorq:
*
* Since: plugins-rs-0.9.0
*/
use gst::glib;
mod fecscheme;

View file

@ -34,6 +34,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-reqwest:
*
* Since: plugins-rs-0.1.0
*/
use gst::glib;
mod reqwesthttpsrc;

View file

@ -23,6 +23,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-textahead:
*
* Since: plugins-rs-0.8.0
*/
use gst::glib;
mod textahead;

View file

@ -33,6 +33,7 @@ package="gstreamer-check"
default = ["gst/ser_de"]
static = ["default"]
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.7.0"

View file

@ -8,6 +8,11 @@
#![allow(clippy::non_send_fields_in_send_ty)]
#![recursion_limit = "128"]
/**
* plugin-rsjson:
*
* Since: plugins-rs-0.5.0
*/
use gst::glib;
mod jsongstenc;

View file

@ -31,6 +31,7 @@ package="gstreamer-check"
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -8,6 +8,11 @@
#![allow(clippy::non_send_fields_in_send_ty)]
#![recursion_limit = "128"]
/**
* plugin-rsregex:
*
* Since: plugins-rs-0.7.0
*/
use gst::glib;
mod gstregex;

View file

@ -32,6 +32,7 @@ package="gstreamer-check"
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.9.3"

View file

@ -8,6 +8,11 @@
#![allow(clippy::non_send_fields_in_send_ty)]
#![recursion_limit = "128"]
/**
* plugin-rstextwrap:
*
* Since: plugins-rs-0.6.0
*/
use gst::glib;
mod gsttextwrap;

View file

@ -39,6 +39,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
default = ["v1_20"]
static = []
capi = []
doc = ["gst/v1_18"]
v1_20 = ["gst/v1_20"]
[package.metadata.capi]

View file

@ -693,6 +693,8 @@ impl GstObjectImpl for FallbackSrc {}
impl ElementImpl for FallbackSrc {
fn metadata() -> Option<&'static gst::subclass::ElementMetadata> {
static ELEMENT_METADATA: Lazy<gst::subclass::ElementMetadata> = Lazy::new(|| {
#[cfg(feature = "doc")]
Status::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
gst::subclass::ElementMetadata::new(
"Fallback Source",
"Generic/Source",

View file

@ -28,6 +28,9 @@ glib::wrapper! {
// the name "fallbackswitch" for being able to instantiate it via e.g.
// gst::ElementFactory::make().
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(feature = "doc")]
FallbackSwitchSinkPad::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
gst::Element::register(
Some(plugin),
"fallbackswitch",

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-fallbackswitch:
*
* Since: plugins-rs-0.6.0
*/
use gst::glib;
mod fallbacksrc;

View file

@ -36,6 +36,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-togglerecord:
*
* Since: plugins-rs-0.1.0
*/
use gst::glib;
mod togglerecord;

View file

@ -27,6 +27,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
v1_22 = ["gst/v1_22"]
[package.metadata.capi]

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-rstracers:
*
* Since: plugins-rs-0.9.0
*/
use gst::glib;
mod buffer_lateness;

View file

@ -33,6 +33,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-uriplaylistbin:
*
* Since: plugins-rs-0.8.0
*/
use gst::glib;
mod uriplaylistbin;

View file

@ -32,6 +32,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-cdg:
*
* Since: plugins-rs-0.5.0
*/
use gst::glib;
mod cdgdec;

View file

@ -59,6 +59,7 @@ cc = "1.0"
# We already use 1.16 which is new enough for static build
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -8,7 +8,13 @@
#![allow(clippy::non_send_fields_in_send_ty)]
#![recursion_limit = "128"]
/**
* plugin-rsclosedcaption:
*
* Since: plugins-rs-0.4.0
*/
use gst::glib;
use gst::prelude::*;
#[allow(non_camel_case_types, non_upper_case_globals, unused)]
#[allow(clippy::redundant_static_lifetimes, clippy::unreadable_literal)]
@ -34,6 +40,8 @@ mod tttojson;
mod ttutils;
fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(feature = "doc")]
ttutils::Cea608Mode::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
mcc_parse::register(plugin)?;
mcc_enc::register(plugin)?;
scc_parse::register(plugin)?;

View file

@ -25,6 +25,9 @@ glib::wrapper! {
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(feature = "doc")]
CaptionSource::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
gst::Element::register(
Some(plugin),
"transcriberbin",

View file

@ -27,6 +27,7 @@ gst-plugin-version-helper = { path = "../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-rsdav1d:
*
* Since: plugins-rs-0.6.0
*/
use gst::glib;
mod dav1ddec;

View file

@ -28,6 +28,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-ffv1:
*
* Since: plugins-rs-0.8.0
*/
mod ffv1dec;
fn plugin_init(plugin: &gst::Plugin) -> Result<(), gst::glib::BoolError> {

View file

@ -31,6 +31,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-rsflv:
*
* Since: plugins-rs-0.4.0
*/
use gst::glib;
mod bytes;

View file

@ -33,6 +33,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-gif:
*
* Since: plugins-rs-0.6.0
*/
use gst::glib;
mod gifenc;

View file

@ -29,6 +29,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.7.0"

View file

@ -10,6 +10,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-gtk4:
*
* Since: plugins-rs-0.8.0
*/
use gst::glib;
mod sink;

View file

@ -31,6 +31,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-hsv:
*
* Since: plugins-rs-0.7.0
*/
use gst::glib;
mod hsvdetector;

View file

@ -30,6 +30,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
default = ["hdr"]
static = []
capi = []
doc = ["gst/v1_18"]
asm = ["rav1e/asm"]
hdr = ["gst-video/v1_18"]

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-rav1e:
*
* Since: plugins-rs-0.5.0
*/
use gst::glib;
mod rav1enc;

View file

@ -18,6 +18,9 @@ glib::wrapper! {
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(feature = "doc")]
imp::Tune::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
gst::Element::register(
Some(plugin),
"rav1enc",

View file

@ -30,6 +30,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -9,6 +9,11 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-rspng:
*
* Since: plugins-rs-0.6.0
*/
use gst::glib;
mod pngenc;

View file

@ -86,6 +86,10 @@ glib::wrapper! {
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
#[cfg(feature = "doc")]
CompressionLevel::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
FilterType::static_type().mark_as_plugin_api(gst::PluginAPIFlags::empty());
gst::Element::register(
Some(plugin),
"rspngenc",

View file

@ -44,6 +44,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -8,6 +8,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-videofx:
*
* Since: plugins-rs-0.8.0
*/
mod border;
mod colordetect;

View file

@ -38,6 +38,7 @@ gst-plugin-version-helper = { path="../../version-helper" }
[features]
static = []
capi = []
doc = ["gst/v1_18"]
[package.metadata.capi]
min_version = "0.8.0"

View file

@ -7,6 +7,11 @@
// SPDX-License-Identifier: MPL-2.0
#![allow(clippy::non_send_fields_in_send_ty)]
/**
* plugin-rswebp:
*
* Since: plugins-rs-0.7.0
*/
use gst::glib;
mod dec;