mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2025-09-02 01:33:47 +00:00
Rename relationmeta plugin to analytics
It's basically dependency-less and there are going to be more analytics-related utility elements in the future, so moving them all to a single plugin simplifies things. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2314>
This commit is contained in:
parent
d80f91da51
commit
88dbe2dc4e
15 changed files with 129 additions and 125 deletions
30
Cargo.lock
generated
30
Cargo.lock
generated
|
@ -2648,6 +2648,21 @@ dependencies = [
|
||||||
"system-deps",
|
"system-deps",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "gst-plugin-analytics"
|
||||||
|
version = "0.14.0-alpha.1"
|
||||||
|
dependencies = [
|
||||||
|
"chrono",
|
||||||
|
"glib",
|
||||||
|
"gst-plugin-version-helper",
|
||||||
|
"gstreamer",
|
||||||
|
"gstreamer-analytics",
|
||||||
|
"gstreamer-base",
|
||||||
|
"gstreamer-rtp",
|
||||||
|
"gstreamer-video",
|
||||||
|
"xmltree",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gst-plugin-audiofx"
|
name = "gst-plugin-audiofx"
|
||||||
version = "0.14.0-alpha.1"
|
version = "0.14.0-alpha.1"
|
||||||
|
@ -3182,21 +3197,6 @@ dependencies = [
|
||||||
"regex",
|
"regex",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "gst-plugin-relationmeta"
|
|
||||||
version = "0.14.0-alpha.1"
|
|
||||||
dependencies = [
|
|
||||||
"chrono",
|
|
||||||
"glib",
|
|
||||||
"gst-plugin-version-helper",
|
|
||||||
"gstreamer",
|
|
||||||
"gstreamer-analytics",
|
|
||||||
"gstreamer-base",
|
|
||||||
"gstreamer-rtp",
|
|
||||||
"gstreamer-video",
|
|
||||||
"xmltree",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gst-plugin-reqwest"
|
name = "gst-plugin-reqwest"
|
||||||
version = "0.14.0-alpha.1"
|
version = "0.14.0-alpha.1"
|
||||||
|
|
|
@ -5,6 +5,8 @@ members = [
|
||||||
"tutorial",
|
"tutorial",
|
||||||
"version-helper",
|
"version-helper",
|
||||||
|
|
||||||
|
"analytics/analytics",
|
||||||
|
|
||||||
"audio/audiofx",
|
"audio/audiofx",
|
||||||
"audio/claxon",
|
"audio/claxon",
|
||||||
"audio/csound",
|
"audio/csound",
|
||||||
|
@ -32,7 +34,6 @@ members = [
|
||||||
"net/onvif",
|
"net/onvif",
|
||||||
"net/raptorq",
|
"net/raptorq",
|
||||||
"net/reqwest",
|
"net/reqwest",
|
||||||
"net/relationmeta",
|
|
||||||
"net/rtp",
|
"net/rtp",
|
||||||
"net/rtsp",
|
"net/rtsp",
|
||||||
"net/webrtchttp",
|
"net/webrtchttp",
|
||||||
|
@ -71,6 +72,8 @@ members = [
|
||||||
default-members = [
|
default-members = [
|
||||||
"version-helper",
|
"version-helper",
|
||||||
|
|
||||||
|
"analytics/analytics",
|
||||||
|
|
||||||
"audio/audiofx",
|
"audio/audiofx",
|
||||||
"audio/claxon",
|
"audio/claxon",
|
||||||
"audio/lewton",
|
"audio/lewton",
|
||||||
|
@ -90,7 +93,6 @@ default-members = [
|
||||||
"net/onvif",
|
"net/onvif",
|
||||||
"net/raptorq",
|
"net/raptorq",
|
||||||
"net/reqwest",
|
"net/reqwest",
|
||||||
"net/relationmeta",
|
|
||||||
"net/rtp",
|
"net/rtp",
|
||||||
"net/rtsp",
|
"net/rtsp",
|
||||||
"net/webrtchttp",
|
"net/webrtchttp",
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
[package]
|
[package]
|
||||||
name = "gst-plugin-relationmeta"
|
name = "gst-plugin-analytics"
|
||||||
version.workspace = true
|
version.workspace = true
|
||||||
authors = ["Benjamin Gaignard <benjamin.gaignard@collabora.com>"]
|
authors = ["Benjamin Gaignard <benjamin.gaignard@collabora.com>"]
|
||||||
repository.workspace = true
|
repository.workspace = true
|
||||||
license = "MPL-2.0"
|
license = "MPL-2.0"
|
||||||
description = "GStreamer Rust Relation Meta Plugin"
|
description = "GStreamer Rust Analytics Plugin"
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
rust-version.workspace = true
|
rust-version.workspace = true
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ xmltree = "0.11"
|
||||||
glib = { workspace = true, features = ["v2_62"] }
|
glib = { workspace = true, features = ["v2_62"] }
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
name = "gstrsrelationmeta"
|
name = "gstrsanalytics"
|
||||||
crate-type = ["cdylib", "rlib"]
|
crate-type = ["cdylib", "rlib"]
|
||||||
path = "src/lib.rs"
|
path = "src/lib.rs"
|
||||||
|
|
|
@ -8,9 +8,9 @@
|
||||||
#![allow(clippy::non_send_fields_in_send_ty, unused_doc_comments)]
|
#![allow(clippy::non_send_fields_in_send_ty, unused_doc_comments)]
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* plugin-rsrelationmeta:
|
* plugin-rsanalytics:
|
||||||
*
|
*
|
||||||
* Since: plugins-rs-0.13.0
|
* Since: plugins-rs-0.14.0
|
||||||
*/
|
*/
|
||||||
use gst::glib;
|
use gst::glib;
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ fn plugin_init(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
|
||||||
}
|
}
|
||||||
|
|
||||||
gst::plugin_define!(
|
gst::plugin_define!(
|
||||||
rsrelationmeta,
|
rsanalytics,
|
||||||
env!("CARGO_PKG_DESCRIPTION"),
|
env!("CARGO_PKG_DESCRIPTION"),
|
||||||
plugin_init,
|
plugin_init,
|
||||||
concat!(env!("CARGO_PKG_VERSION"), "-", env!("COMMIT_ID")),
|
concat!(env!("CARGO_PKG_VERSION"), "-", env!("COMMIT_ID")),
|
|
@ -13,6 +13,7 @@ DIRS = [
|
||||||
|
|
||||||
# Plugins whose name is prefixed by 'rs'
|
# Plugins whose name is prefixed by 'rs'
|
||||||
RS_PREFIXED = [
|
RS_PREFIXED = [
|
||||||
|
'analytics',
|
||||||
'audiofx',
|
'audiofx',
|
||||||
'closedcaption',
|
'closedcaption',
|
||||||
'file',
|
'file',
|
||||||
|
@ -25,7 +26,6 @@ RS_PREFIXED = [
|
||||||
'rtp',
|
'rtp',
|
||||||
'rtsp',
|
'rtsp',
|
||||||
'inter',
|
'inter',
|
||||||
'relationmeta',
|
|
||||||
]
|
]
|
||||||
|
|
||||||
OVERRIDE = {
|
OVERRIDE = {
|
||||||
|
|
|
@ -26,6 +26,7 @@ PARSER.add_argument('--feature-deps', action="store_true", help="Get list of fea
|
||||||
|
|
||||||
# Map plugin name to directory name, for those that does not match.
|
# Map plugin name to directory name, for those that does not match.
|
||||||
RENAMES = {
|
RENAMES = {
|
||||||
|
'rsanalytics': 'analytics',
|
||||||
'rsaudiofx': 'audiofx',
|
'rsaudiofx': 'audiofx',
|
||||||
'rsfile': 'file',
|
'rsfile': 'file',
|
||||||
'rsflv': 'flavors',
|
'rsflv': 'flavors',
|
||||||
|
@ -33,7 +34,6 @@ RENAMES = {
|
||||||
'rsrtsp': 'rtsp',
|
'rsrtsp': 'rtsp',
|
||||||
'rswebp': 'webp',
|
'rswebp': 'webp',
|
||||||
'rsonvif': 'onvif',
|
'rsonvif': 'onvif',
|
||||||
'rsrelationmeta': 'relationmeta',
|
|
||||||
'rstracers': 'tracers',
|
'rstracers': 'tracers',
|
||||||
'rsclosedcaption': 'closedcaption',
|
'rsclosedcaption': 'closedcaption',
|
||||||
'rswebrtc': 'webrtc',
|
'rswebrtc': 'webrtc',
|
||||||
|
|
|
@ -7913,6 +7913,103 @@
|
||||||
"tracers": {},
|
"tracers": {},
|
||||||
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"
|
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"
|
||||||
},
|
},
|
||||||
|
"rsanalytics": {
|
||||||
|
"description": "GStreamer Rust Analytics Plugin",
|
||||||
|
"elements": {
|
||||||
|
"onvifmeta2relationmeta": {
|
||||||
|
"author": "Benjamin Gaignard <benjamin.gaignard@collabora.com>",
|
||||||
|
"description": "Convert ONVIF metadata to relation metadata",
|
||||||
|
"hierarchy": [
|
||||||
|
"GstOnvifMeta2RelationMeta",
|
||||||
|
"GstElement",
|
||||||
|
"GstObject",
|
||||||
|
"GInitiallyUnowned",
|
||||||
|
"GObject"
|
||||||
|
],
|
||||||
|
"klass": "Metadata",
|
||||||
|
"pad-templates": {
|
||||||
|
"sink": {
|
||||||
|
"caps": "ANY",
|
||||||
|
"direction": "sink",
|
||||||
|
"presence": "always"
|
||||||
|
},
|
||||||
|
"src": {
|
||||||
|
"caps": "ANY",
|
||||||
|
"direction": "src",
|
||||||
|
"presence": "always"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rank": "none"
|
||||||
|
},
|
||||||
|
"relationmeta2onvifmeta": {
|
||||||
|
"author": "Benjamin Gaignard <benjamin.gaignard@collabora.com>",
|
||||||
|
"description": "Convert relation metadata to ONVIF metadata",
|
||||||
|
"hierarchy": [
|
||||||
|
"GstRelationMeta2OnvifMeta",
|
||||||
|
"GstElement",
|
||||||
|
"GstObject",
|
||||||
|
"GInitiallyUnowned",
|
||||||
|
"GObject"
|
||||||
|
],
|
||||||
|
"klass": "Metadata",
|
||||||
|
"pad-templates": {
|
||||||
|
"sink": {
|
||||||
|
"caps": "ANY",
|
||||||
|
"direction": "sink",
|
||||||
|
"presence": "always"
|
||||||
|
},
|
||||||
|
"src": {
|
||||||
|
"caps": "ANY",
|
||||||
|
"direction": "src",
|
||||||
|
"presence": "always"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"properties": {
|
||||||
|
"time-source": {
|
||||||
|
"blurb": "Time source for UTC timestamps",
|
||||||
|
"conditionally-available": false,
|
||||||
|
"construct": false,
|
||||||
|
"construct-only": false,
|
||||||
|
"controllable": false,
|
||||||
|
"default": "clock (0)",
|
||||||
|
"mutable": "ready",
|
||||||
|
"readable": true,
|
||||||
|
"type": "GstRsOnvifNtpTimeSource",
|
||||||
|
"writable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rank": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"filename": "gstrsanalytics",
|
||||||
|
"license": "MPL-2.0",
|
||||||
|
"other-types": {
|
||||||
|
"GstRsOnvifNtpTimeSource": {
|
||||||
|
"kind": "enum",
|
||||||
|
"values": [
|
||||||
|
{
|
||||||
|
"desc": "UNIX time based on realtime clock.",
|
||||||
|
"name": "clock",
|
||||||
|
"value": "0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"desc": "Running time is in UTC",
|
||||||
|
"name": "running-time",
|
||||||
|
"value": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"desc": "Pipeline clock is UTC",
|
||||||
|
"name": "clock-time",
|
||||||
|
"value": "2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"package": "gst-plugin-analytics",
|
||||||
|
"source": "gst-plugin-analytics",
|
||||||
|
"tracers": {},
|
||||||
|
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"
|
||||||
|
},
|
||||||
"rsaudiofx": {
|
"rsaudiofx": {
|
||||||
"description": "GStreamer Rust Audio Effects Plugin",
|
"description": "GStreamer Rust Audio Effects Plugin",
|
||||||
"elements": {
|
"elements": {
|
||||||
|
@ -10521,103 +10618,6 @@
|
||||||
"tracers": {},
|
"tracers": {},
|
||||||
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"
|
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"
|
||||||
},
|
},
|
||||||
"rsrelationmeta": {
|
|
||||||
"description": "GStreamer Rust Relation Meta Plugin",
|
|
||||||
"elements": {
|
|
||||||
"onvifmeta2relationmeta": {
|
|
||||||
"author": "Benjamin Gaignard <benjamin.gaignard@collabora.com>",
|
|
||||||
"description": "Convert ONVIF metadata to relation metadata",
|
|
||||||
"hierarchy": [
|
|
||||||
"GstOnvifMeta2RelationMeta",
|
|
||||||
"GstElement",
|
|
||||||
"GstObject",
|
|
||||||
"GInitiallyUnowned",
|
|
||||||
"GObject"
|
|
||||||
],
|
|
||||||
"klass": "Metadata",
|
|
||||||
"pad-templates": {
|
|
||||||
"sink": {
|
|
||||||
"caps": "ANY",
|
|
||||||
"direction": "sink",
|
|
||||||
"presence": "always"
|
|
||||||
},
|
|
||||||
"src": {
|
|
||||||
"caps": "ANY",
|
|
||||||
"direction": "src",
|
|
||||||
"presence": "always"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rank": "none"
|
|
||||||
},
|
|
||||||
"relationmeta2onvifmeta": {
|
|
||||||
"author": "Benjamin Gaignard <benjamin.gaignard@collabora.com>",
|
|
||||||
"description": "Convert relation metadata to ONVIF metadata",
|
|
||||||
"hierarchy": [
|
|
||||||
"GstRelationMeta2OnvifMeta",
|
|
||||||
"GstElement",
|
|
||||||
"GstObject",
|
|
||||||
"GInitiallyUnowned",
|
|
||||||
"GObject"
|
|
||||||
],
|
|
||||||
"klass": "Metadata",
|
|
||||||
"pad-templates": {
|
|
||||||
"sink": {
|
|
||||||
"caps": "ANY",
|
|
||||||
"direction": "sink",
|
|
||||||
"presence": "always"
|
|
||||||
},
|
|
||||||
"src": {
|
|
||||||
"caps": "ANY",
|
|
||||||
"direction": "src",
|
|
||||||
"presence": "always"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"properties": {
|
|
||||||
"time-source": {
|
|
||||||
"blurb": "Time source for UTC timestamps",
|
|
||||||
"conditionally-available": false,
|
|
||||||
"construct": false,
|
|
||||||
"construct-only": false,
|
|
||||||
"controllable": false,
|
|
||||||
"default": "clock (0)",
|
|
||||||
"mutable": "ready",
|
|
||||||
"readable": true,
|
|
||||||
"type": "GstRsOnvifNtpTimeSource",
|
|
||||||
"writable": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"rank": "none"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"filename": "gstrsrelationmeta",
|
|
||||||
"license": "MPL-2.0",
|
|
||||||
"other-types": {
|
|
||||||
"GstRsOnvifNtpTimeSource": {
|
|
||||||
"kind": "enum",
|
|
||||||
"values": [
|
|
||||||
{
|
|
||||||
"desc": "UNIX time based on realtime clock.",
|
|
||||||
"name": "clock",
|
|
||||||
"value": "0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"desc": "Running time is in UTC",
|
|
||||||
"name": "running-time",
|
|
||||||
"value": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"desc": "Pipeline clock is UTC",
|
|
||||||
"name": "clock-time",
|
|
||||||
"value": "2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"package": "gst-plugin-relationmeta",
|
|
||||||
"source": "gst-plugin-relationmeta",
|
|
||||||
"tracers": {},
|
|
||||||
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"
|
|
||||||
},
|
|
||||||
"rsrtp": {
|
"rsrtp": {
|
||||||
"description": "GStreamer Rust RTP Plugin",
|
"description": "GStreamer Rust RTP Plugin",
|
||||||
"elements": {
|
"elements": {
|
||||||
|
|
|
@ -92,7 +92,7 @@ endif
|
||||||
if get_option('threadshare').allowed() or get_option('rtsp').allowed()
|
if get_option('threadshare').allowed() or get_option('rtsp').allowed()
|
||||||
deps += [['gstreamer-net-1.0', 'gstreamer', 'gst_net_dep', 'gst_net']]
|
deps += [['gstreamer-net-1.0', 'gstreamer', 'gst_net_dep', 'gst_net']]
|
||||||
endif
|
endif
|
||||||
if get_option('relationmeta').allowed()
|
if get_option('analytics').allowed()
|
||||||
deps += [['gstreamer-analytics-1.0', 'gst-plugins-bad', 'gstanalytics_dep', 'gstanalytics']]
|
deps += [['gstreamer-analytics-1.0', 'gst-plugins-bad', 'gstanalytics_dep', 'gstanalytics']]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -112,6 +112,7 @@ endforeach
|
||||||
|
|
||||||
# kept in the same order as the `members` list in Cargo.toml
|
# kept in the same order as the `members` list in Cargo.toml
|
||||||
plugins = {
|
plugins = {
|
||||||
|
'analytics': {'library': 'libgstrsanalytics'},
|
||||||
'audiofx': {
|
'audiofx': {
|
||||||
'library': 'libgstrsaudiofx',
|
'library': 'libgstrsaudiofx',
|
||||||
'examples': ['hrtfrender'],
|
'examples': ['hrtfrender'],
|
||||||
|
@ -160,7 +161,6 @@ plugins = {
|
||||||
},
|
},
|
||||||
'raptorq': {'library': 'libgstraptorq'},
|
'raptorq': {'library': 'libgstraptorq'},
|
||||||
'reqwest': {'library': 'libgstreqwest'},
|
'reqwest': {'library': 'libgstreqwest'},
|
||||||
'relationmeta': {'library': 'libgstrsrelationmeta'},
|
|
||||||
'rtsp': {'library': 'libgstrsrtsp'},
|
'rtsp': {'library': 'libgstrsrtsp'},
|
||||||
'rtp': {'library': 'libgstrsrtp'},
|
'rtp': {'library': 'libgstrsrtp'},
|
||||||
'webrtchttp': {'library': 'libgstwebrtchttp'},
|
'webrtchttp': {'library': 'libgstwebrtchttp'},
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
# Same order as members in Cargo.toml
|
# Same order as members in Cargo.toml
|
||||||
|
|
||||||
|
# analytics
|
||||||
|
option('analytics', type: 'feature', value: 'auto', description: 'Build analytics plugin')
|
||||||
|
|
||||||
# audio
|
# audio
|
||||||
option('audiofx', type: 'feature', value: 'auto', description: 'Build audiofx plugin')
|
option('audiofx', type: 'feature', value: 'auto', description: 'Build audiofx plugin')
|
||||||
option('claxon', type: 'feature', value: 'auto', description: 'Build claxon plugin')
|
option('claxon', type: 'feature', value: 'auto', description: 'Build claxon plugin')
|
||||||
|
@ -34,7 +37,6 @@ option('ndi', type: 'feature', value: 'auto', description: 'Build ndi plugin')
|
||||||
option('onvif', type: 'feature', value: 'auto', description: 'Build onvif plugin')
|
option('onvif', type: 'feature', value: 'auto', description: 'Build onvif plugin')
|
||||||
option('raptorq', type: 'feature', value: 'auto', description: 'Build raptorq plugin')
|
option('raptorq', type: 'feature', value: 'auto', description: 'Build raptorq plugin')
|
||||||
option('reqwest', type: 'feature', value: 'auto', description: 'Build reqwest plugin')
|
option('reqwest', type: 'feature', value: 'auto', description: 'Build reqwest plugin')
|
||||||
option('relationmeta', type: 'feature', value: 'auto', description: 'Build relationmeta plugin')
|
|
||||||
option('rtsp', type: 'feature', value: 'auto', description: 'Build rtsp plugin')
|
option('rtsp', type: 'feature', value: 'auto', description: 'Build rtsp plugin')
|
||||||
option('rtp', type: 'feature', value: 'auto', description: 'Build rtp plugin')
|
option('rtp', type: 'feature', value: 'auto', description: 'Build rtp plugin')
|
||||||
option('webrtc', type: 'feature', value: 'auto', yield: true, description: 'Build webrtc plugin')
|
option('webrtc', type: 'feature', value: 'auto', yield: true, description: 'Build webrtc plugin')
|
||||||
|
|
Loading…
Reference in a new issue