mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-29 21:21:12 +00:00
a342d14ba9
It introduces a `reverse` property at the `nlesource` level which will basically reverse playback of the clip. We guarantee that outside that clip, the data flow looks like it was playing forward as we add an 'identity' element with `single-segment=true`. This start making use of the newly introduced concept of `CHILD_PROP_FLAG_SET_ON_ALL_INSTANCES` as it is natural that doing `source_clip.set_child_property("reverse", True)` will make the whole clip go reverse, meaning that all the GESSource children properties will be set. To set an individual source "reverse" child property as the desired effect. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/24 Depends on: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/451 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/918>
486 lines
No EOL
18 KiB
JSON
486 lines
No EOL
18 KiB
JSON
{
|
|
"ges": {
|
|
"description": "GStreamer Editing Services Plugin",
|
|
"elements": {
|
|
"gesdemux": {
|
|
"author": "Thibault Saunier <tsaunier@igalia.com",
|
|
"description": "Demuxer for complex timeline file formats using GES.",
|
|
"hierarchy": [
|
|
"GESDemux",
|
|
"GESBaseBin",
|
|
"GstBin",
|
|
"GstElement",
|
|
"GstObject",
|
|
"GInitiallyUnowned",
|
|
"GObject"
|
|
],
|
|
"interfaces": [
|
|
"GstChildProxy"
|
|
],
|
|
"klass": "Codec/Demux/Editing",
|
|
"long-name": "GStreamer Editing Services based 'demuxer'",
|
|
"pad-templates": {
|
|
"audio_src": {
|
|
"caps": "audio/x-raw(ANY):\n",
|
|
"direction": "src",
|
|
"presence": "sometimes"
|
|
},
|
|
"sink": {
|
|
"caps": "application/xges:\ntext/x-xptv:\napplication/vnd.pixar.opentimelineio+json:\napplication/vnd.apple-xmeml+xml:\napplication/vnd.apple-fcp+xml:\n",
|
|
"direction": "sink",
|
|
"presence": "always"
|
|
},
|
|
"video_src": {
|
|
"caps": "video/x-raw(ANY):\n",
|
|
"direction": "src",
|
|
"presence": "sometimes"
|
|
}
|
|
},
|
|
"properties": {},
|
|
"rank": "primary",
|
|
"signals": {}
|
|
},
|
|
"gessrc": {
|
|
"author": "Thibault Saunier <tsaunier@igalia.com",
|
|
"description": "Source for GESTimeline.",
|
|
"hierarchy": [
|
|
"GESSrc",
|
|
"GESBaseBin",
|
|
"GstBin",
|
|
"GstElement",
|
|
"GstObject",
|
|
"GInitiallyUnowned",
|
|
"GObject"
|
|
],
|
|
"interfaces": [
|
|
"GstChildProxy",
|
|
"GstURIHandler"
|
|
],
|
|
"klass": "Codec/Source/Editing",
|
|
"long-name": "GStreamer Editing Services based 'source'",
|
|
"pad-templates": {
|
|
"audio_src": {
|
|
"caps": "audio/x-raw(ANY):\n",
|
|
"direction": "src",
|
|
"presence": "sometimes"
|
|
},
|
|
"video_src": {
|
|
"caps": "video/x-raw(ANY):\n",
|
|
"direction": "src",
|
|
"presence": "sometimes"
|
|
}
|
|
},
|
|
"properties": {},
|
|
"rank": "none",
|
|
"signals": {}
|
|
}
|
|
},
|
|
"filename": "gstges",
|
|
"license": "LGPL",
|
|
"other-types": {
|
|
"GESBaseBin": {
|
|
"hierarchy": [
|
|
"GESBaseBin",
|
|
"GstBin",
|
|
"GstElement",
|
|
"GstObject",
|
|
"GInitiallyUnowned",
|
|
"GObject"
|
|
],
|
|
"interfaces": [
|
|
"GstChildProxy"
|
|
],
|
|
"kind": "object",
|
|
"properties": {
|
|
"timeline": {
|
|
"blurb": "Timeline to use in this src.",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "GESTimeline",
|
|
"writable": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"package": "GStreamer Editing Services",
|
|
"source": "gst-editing-services",
|
|
"tracers": {},
|
|
"url": "Unknown package origin"
|
|
},
|
|
"nle": {
|
|
"description": "GStreamer Non Linear Engine",
|
|
"elements": {
|
|
"nlecomposition": {
|
|
"author": "Wim Taymans <wim.taymans@gmail.com>, Edward Hervey <bilboed@bilboed.com>, Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>, Thibault Saunier <tsaunier@gnome.org>",
|
|
"description": "Combines NLE objects",
|
|
"hierarchy": [
|
|
"NleComposition",
|
|
"NleObject",
|
|
"GstBin",
|
|
"GstElement",
|
|
"GstObject",
|
|
"GInitiallyUnowned",
|
|
"GObject"
|
|
],
|
|
"interfaces": [
|
|
"GstChildProxy"
|
|
],
|
|
"klass": "Filter/Editor",
|
|
"long-name": "GNonLin Composition",
|
|
"pad-templates": {
|
|
"src": {
|
|
"caps": "ANY",
|
|
"direction": "src",
|
|
"presence": "always"
|
|
}
|
|
},
|
|
"properties": {
|
|
"drop-tags": {
|
|
"blurb": "Whether the composition should drop tags from its children",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "true",
|
|
"mutable": "playing",
|
|
"readable": true,
|
|
"type": "gboolean",
|
|
"writable": true
|
|
},
|
|
"id": {
|
|
"blurb": "The stream-id of the composition",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "NULL",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "gchararray",
|
|
"writable": true
|
|
}
|
|
},
|
|
"rank": "none",
|
|
"signals": {
|
|
"commited": {
|
|
"args": [
|
|
{
|
|
"name": "arg0",
|
|
"type": "gboolean"
|
|
}
|
|
],
|
|
"return-type": "void",
|
|
"when": "first"
|
|
}
|
|
}
|
|
},
|
|
"nleoperation": {
|
|
"author": "Wim Taymans <wim.taymans@gmail.com>, Edward Hervey <bilboed@bilboed.com>",
|
|
"description": "Encapsulates filters/effects for use with NLE Objects",
|
|
"hierarchy": [
|
|
"NleOperation",
|
|
"NleObject",
|
|
"GstBin",
|
|
"GstElement",
|
|
"GstObject",
|
|
"GInitiallyUnowned",
|
|
"GObject"
|
|
],
|
|
"interfaces": [
|
|
"GstChildProxy"
|
|
],
|
|
"klass": "Filter/Editor",
|
|
"long-name": "GNonLin Operation",
|
|
"pad-templates": {
|
|
"sink%%d": {
|
|
"caps": "ANY",
|
|
"direction": "sink",
|
|
"presence": "request"
|
|
},
|
|
"src": {
|
|
"caps": "ANY",
|
|
"direction": "src",
|
|
"presence": "always"
|
|
}
|
|
},
|
|
"properties": {
|
|
"sinks": {
|
|
"blurb": "Number of input sinks (-1 for automatic handling)",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "1",
|
|
"max": "2147483647",
|
|
"min": "-1",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "gint",
|
|
"writable": true
|
|
}
|
|
},
|
|
"rank": "none",
|
|
"signals": {
|
|
"input-priority-changed": {
|
|
"args": [
|
|
{
|
|
"name": "arg0",
|
|
"type": "GstPad"
|
|
},
|
|
{
|
|
"name": "arg1",
|
|
"type": "guint"
|
|
}
|
|
],
|
|
"return-type": "void",
|
|
"when": "last"
|
|
}
|
|
}
|
|
},
|
|
"nlesource": {
|
|
"author": "Wim Taymans <wim.taymans@gmail.com>, Edward Hervey <bilboed@bilboed.com>",
|
|
"description": "Manages source elements",
|
|
"hierarchy": [
|
|
"NleSource",
|
|
"NleObject",
|
|
"GstBin",
|
|
"GstElement",
|
|
"GstObject",
|
|
"GInitiallyUnowned",
|
|
"GObject"
|
|
],
|
|
"interfaces": [
|
|
"GstChildProxy"
|
|
],
|
|
"klass": "Filter/Editor",
|
|
"long-name": "GNonLin Source",
|
|
"pad-templates": {
|
|
"src": {
|
|
"caps": "ANY",
|
|
"direction": "src",
|
|
"presence": "always"
|
|
}
|
|
},
|
|
"properties": {
|
|
"reverse": {
|
|
"blurb": "Whether to playback the source reverse or not",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "false",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "gboolean",
|
|
"writable": true
|
|
}
|
|
},
|
|
"rank": "none",
|
|
"signals": {}
|
|
},
|
|
"nleurisource": {
|
|
"author": "Edward Hervey <bilboed@bilboed.com>",
|
|
"description": "High-level URI Source element",
|
|
"hierarchy": [
|
|
"NleURISource",
|
|
"NleSource",
|
|
"NleObject",
|
|
"GstBin",
|
|
"GstElement",
|
|
"GstObject",
|
|
"GInitiallyUnowned",
|
|
"GObject"
|
|
],
|
|
"interfaces": [
|
|
"GstChildProxy"
|
|
],
|
|
"klass": "Filter/Editor",
|
|
"long-name": "GNonLin URI Source",
|
|
"pad-templates": {
|
|
"src": {
|
|
"caps": "ANY",
|
|
"direction": "src",
|
|
"presence": "sometimes"
|
|
}
|
|
},
|
|
"properties": {
|
|
"uri": {
|
|
"blurb": "Uri of the file to use",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "NULL",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "gchararray",
|
|
"writable": true
|
|
}
|
|
},
|
|
"rank": "none",
|
|
"signals": {}
|
|
}
|
|
},
|
|
"filename": "gstnle",
|
|
"license": "LGPL",
|
|
"other-types": {
|
|
"NleObject": {
|
|
"hierarchy": [
|
|
"NleObject",
|
|
"GstBin",
|
|
"GstElement",
|
|
"GstObject",
|
|
"GInitiallyUnowned",
|
|
"GObject"
|
|
],
|
|
"interfaces": [
|
|
"GstChildProxy"
|
|
],
|
|
"kind": "object",
|
|
"properties": {
|
|
"active": {
|
|
"blurb": "Use this object in the NleComposition",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "true",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "gboolean",
|
|
"writable": true
|
|
},
|
|
"caps": {
|
|
"blurb": "Caps used to filter/choose the output stream",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "ANY",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "GstCaps",
|
|
"writable": true
|
|
},
|
|
"duration": {
|
|
"blurb": "Outgoing duration (in nanoseconds)",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "0",
|
|
"max": "9223372036854775807",
|
|
"min": "0",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "gint64",
|
|
"writable": true
|
|
},
|
|
"expandable": {
|
|
"blurb": "Expand to the full duration of the container composition",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "false",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "gboolean",
|
|
"writable": true
|
|
},
|
|
"inpoint": {
|
|
"blurb": "The media start position (in nanoseconds)",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "18446744073709551615",
|
|
"max": "18446744073709551615",
|
|
"min": "0",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "guint64",
|
|
"writable": true
|
|
},
|
|
"media-duration-factor": {
|
|
"blurb": "The relative rate caused by this object",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "1",
|
|
"max": "1.79769e+308",
|
|
"min": "0.01",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "gdouble",
|
|
"writable": true
|
|
},
|
|
"priority": {
|
|
"blurb": "The priority of the object (0 = highest priority)",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "0",
|
|
"max": "-1",
|
|
"min": "0",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "guint",
|
|
"writable": true
|
|
},
|
|
"start": {
|
|
"blurb": "The start position relative to the parent (in nanoseconds)",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "0",
|
|
"max": "18446744073709551615",
|
|
"min": "0",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "guint64",
|
|
"writable": true
|
|
},
|
|
"stop": {
|
|
"blurb": "The stop position relative to the parent (in nanoseconds)",
|
|
"conditionally-available": false,
|
|
"construct": false,
|
|
"construct-only": false,
|
|
"controllable": false,
|
|
"default": "0",
|
|
"max": "18446744073709551615",
|
|
"min": "0",
|
|
"mutable": "null",
|
|
"readable": true,
|
|
"type": "guint64",
|
|
"writable": false
|
|
}
|
|
},
|
|
"signals": {
|
|
"commit": {
|
|
"action": true,
|
|
"args": [
|
|
{
|
|
"name": "arg0",
|
|
"type": "gboolean"
|
|
}
|
|
],
|
|
"return-type": "gboolean",
|
|
"when": "last"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"package": "GStreamer Editing Services",
|
|
"source": "gst-editing-services",
|
|
"tracers": {},
|
|
"url": "Unknown package origin"
|
|
}
|
|
} |