mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2025-01-29 12:28:07 +00:00
Generate plugins documentation using hotdoc
Which will automatically be integrated in gstreamer documentation
This commit is contained in:
parent
25465fd9f3
commit
31a53bba8a
88 changed files with 6966 additions and 5 deletions
|
@ -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"
|
||||
|
|
|
@ -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")]
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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> {
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
111
docs/meson.build
Normal 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
|
5
docs/plugins/all_index.md
Normal file
5
docs/plugins/all_index.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
short-description: Plugins from gst-plugins-rs
|
||||
...
|
||||
|
||||
# Plugins
|
6580
docs/plugins/gst_plugins_cache.json
Normal file
6580
docs/plugins/gst_plugins_cache.json
Normal file
File diff suppressed because it is too large
Load diff
0
docs/plugins/index.md
Normal file
0
docs/plugins/index.md
Normal file
1
docs/plugins/sitemap.txt
Normal file
1
docs/plugins/sitemap.txt
Normal file
|
@ -0,0 +1 @@
|
|||
gst-index
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -66,6 +66,7 @@ pkg-config = "0.3.15"
|
|||
[features]
|
||||
static = []
|
||||
capi = []
|
||||
doc = ["gst/v1_18"]
|
||||
|
||||
[package.metadata.capi]
|
||||
min_version = "0.8.0"
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -7,6 +7,12 @@
|
|||
//!
|
||||
//! [`runtime`]: runtime/index.html
|
||||
|
||||
/**
|
||||
* plugin-threadshare:
|
||||
*
|
||||
* Since: plugins-rs-0.4.0
|
||||
*/
|
||||
|
||||
#[macro_use]
|
||||
pub mod runtime;
|
||||
|
||||
|
|
17
meson.build
17
meson.build
|
@ -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,
|
||||
|
|
|
@ -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.')
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -32,6 +32,7 @@ path = "src/lib.rs"
|
|||
[features]
|
||||
static = []
|
||||
capi = []
|
||||
doc = ["gst/v1_18"]
|
||||
|
||||
[package.metadata.capi]
|
||||
min_version = "0.8.0"
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -31,6 +31,7 @@ package="gstreamer-check"
|
|||
[features]
|
||||
static = []
|
||||
capi = []
|
||||
doc = ["gst/v1_18"]
|
||||
|
||||
[package.metadata.capi]
|
||||
min_version = "0.8.0"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -32,6 +32,7 @@ package="gstreamer-check"
|
|||
[features]
|
||||
static = []
|
||||
capi = []
|
||||
doc = ["gst/v1_18"]
|
||||
|
||||
[package.metadata.capi]
|
||||
min_version = "0.9.3"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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)?;
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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> {
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"]
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue