hlssink3: Update plugin docs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1306>
This commit is contained in:
Seungha Yang 2023-09-24 20:07:46 +09:00
parent 22cc8c4986
commit ed4181617a

View file

@ -2157,11 +2157,127 @@
"hlssink3": {
"description": "GStreamer HLS (HTTP Live Streaming) Plugin",
"elements": {
"hlssink3": {
"author": "Alessandro Decina <alessandro.d@gmail.com>, Sebastian Dröge <sebastian@centricular.com>, Rafael Caricio <rafael@caricio.com>",
"description": "HTTP Live Streaming sink",
"hlscmafsink": {
"author": "Seungha Yang <seungha@centricular.com>",
"description": "HTTP Live Streaming CMAF Sink",
"hierarchy": [
"GstHlsSink3",
"GstHlsCmafSink",
"GstHlsBaseSink",
"GstBin",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"interfaces": [
"GstChildProxy"
],
"klass": "Sink/Muxer",
"pad-templates": {
"sink": {
"caps": "video/x-h264:\n stream-format: { (string)avc, (string)avc3 }\n alignment: au\n width: [ 1, 65535 ]\n height: [ 1, 65535 ]\nvideo/x-h265:\n stream-format: { (string)hvc1, (string)hev1 }\n alignment: au\n width: [ 1, 65535 ]\n height: [ 1, 65535 ]\naudio/mpeg:\n mpegversion: 4\n stream-format: raw\n channels: [ 1, 65535 ]\n rate: [ 1, 2147483647 ]\n",
"direction": "sink",
"presence": "always"
}
},
"properties": {
"init-location": {
"blurb": "Location of the init fragment file to write",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "init%%05d.mp4",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": true
},
"latency": {
"blurb": "Additional latency to allow upstream to take longer to produce buffers for the current position (in nanoseconds)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "7500000000",
"max": "9223372036854775807",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint64",
"writable": true
},
"location": {
"blurb": "Location of the fragment file to write",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "segment%%05d.m4s",
"mutable": "null",
"readable": true,
"type": "gchararray",
"writable": true
},
"playlist-type": {
"blurb": "The type of the playlist to use. When VOD type is set, the playlist will be live until the pipeline ends execution.",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "unspecified (0)",
"mutable": "ready",
"readable": true,
"type": "GstHlsSink3PlaylistType",
"writable": true
},
"sync": {
"blurb": "Sync on the clock",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"target-duration": {
"blurb": "The target duration in seconds of a segment/file. (0 - disabled, useful for management of segment duration by the streaming server)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "15",
"max": "-1",
"min": "0",
"mutable": "ready",
"readable": true,
"type": "guint",
"writable": true
}
},
"rank": "none",
"signals": {
"get-init-stream": {
"args": [
{
"name": "arg0",
"type": "gchararray"
}
],
"return-type": "GOutputStream",
"when": "last"
}
}
},
"hlssink3": {
"author": "Alessandro Decina <alessandro.d@gmail.com>, Sebastian Dröge <sebastian@centricular.com>, Rafael Caricio <rafael@caricio.com>",
"description": "HTTP Live Streaming sink",
"hierarchy": [
"GstHlsSink3",
"GstHlsBaseSink",
"GstBin",
"GstElement",
"GstObject",
@ -2172,7 +2288,6 @@
"GstChildProxy"
],
"klass": "Sink/Muxer",
"long-name": "HTTP Live Streaming sink",
"pad-templates": {
"audio": {
"caps": "ANY",
@ -2186,18 +2301,6 @@
}
},
"properties": {
"enable-program-date-time": {
"blurb": "put EXT-X-PROGRAM-DATE-TIME tag in the playlist",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "false",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"i-frames-only": {
"blurb": "Each video segments is single iframe, So put EXT-X-I-FRAMES-ONLY tag in the playlist",
"conditionally-available": false,
@ -2222,6 +2325,89 @@
"type": "gchararray",
"writable": true
},
"playlist-type": {
"blurb": "The type of the playlist to use. When VOD type is set, the playlist will be live until the pipeline ends execution.",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "unspecified (0)",
"mutable": "null",
"readable": true,
"type": "GstHlsSink3PlaylistType",
"writable": true
},
"send-keyframe-requests": {
"blurb": "Send keyframe requests to ensure correct fragmentation. If this is disabled then the input must have keyframes in regular intervals.",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"target-duration": {
"blurb": "The target duration in seconds of a segment/file. (0 - disabled, useful for management of segment duration by the streaming server)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "15",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
}
},
"rank": "none"
}
},
"filename": "gsthlssink3",
"license": "MPL",
"other-types": {
"GstHlsBaseSink": {
"hierarchy": [
"GstHlsBaseSink",
"GstBin",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"interfaces": [
"GstChildProxy"
],
"kind": "object",
"properties": {
"enable-endlist": {
"blurb": "Write \"EXT-X-ENDLIST\" tag to manifest at the end of stream",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"enable-program-date-time": {
"blurb": "put EXT-X-PROGRAM-DATE-TIME tag in the playlist",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "false",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"max-files": {
"blurb": "Maximum number of files to keep on disk. Once the maximum is reached, old files start to be deleted to make room for new ones.",
"conditionally-available": false,
@ -2285,47 +2471,8 @@
"readable": true,
"type": "gchararray",
"writable": true
},
"playlist-type": {
"blurb": "The type of the playlist to use. When VOD type is set, the playlist will be live until the pipeline ends execution.",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "unspecified (0)",
"mutable": "null",
"readable": true,
"type": "GstHlsSink3PlaylistType",
"writable": true
},
"send-keyframe-requests": {
"blurb": "Send keyframe requests to ensure correct fragmentation. If this is disabled then the input must have keyframes in regular intervals.",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"target-duration": {
"blurb": "The target duration in seconds of a segment/file. (0 - disabled, useful for management of segment duration by the streaming server)",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "15",
"max": "-1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "guint",
"writable": true
}
},
"rank": "none",
"signals": {
"delete-fragment": {
"args": [
@ -2358,11 +2505,7 @@
"when": "last"
}
}
}
},
"filename": "gsthlssink3",
"license": "MPL",
"other-types": {
},
"GstHlsSink3PlaylistType": {
"kind": "enum",
"values": [