diff --git a/docs/plugins/gst_plugins_cache.json b/docs/plugins/gst_plugins_cache.json index 0fd3d030..c94e392a 100644 --- a/docs/plugins/gst_plugins_cache.json +++ b/docs/plugins/gst_plugins_cache.json @@ -2157,11 +2157,127 @@ "hlssink3": { "description": "GStreamer HLS (HTTP Live Streaming) Plugin", "elements": { - "hlssink3": { - "author": "Alessandro Decina , Sebastian Dröge , Rafael Caricio ", - "description": "HTTP Live Streaming sink", + "hlscmafsink": { + "author": "Seungha Yang ", + "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 , Sebastian Dröge , Rafael Caricio ", + "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": [