From 88cb48108af8e4b532fe567b9f069c40720fcdbe Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Thu, 5 Dec 2024 00:32:37 +0530 Subject: [PATCH] docs: Update macOS plugin docs again Contains the following updates: * New properties on avfvideosrc: screen-crop-* * H265 and H265 Alpha support in vtdec and vtenc (VideoToolbox) * ProRes support in vtenc * New properties on vtenc elements: rate-control, data-rate-limits, max-frame-delay * New plugin atenc (AudioToolbox) with support for encoding AAC * Plugin move: atdec moved from -bad to -good * New property on osxaudio elements: unique-id * OS X -> macOS Part-of: --- .../docs/plugins/gst_plugins_cache.json | 729 +++++++++++++++++- .../docs/gst_plugins_cache.json | 127 ++- 2 files changed, 816 insertions(+), 40 deletions(-) diff --git a/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json b/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json index e3a8806a18..41d8d6ebb7 100644 --- a/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json +++ b/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json @@ -4160,35 +4160,8 @@ "url": "Unknown package origin" }, "applemedia": { - "description": "Elements for capture and codec access on Apple OS X and iOS", + "description": "Elements for capture and codec access on Apple macOS and iOS", "elements": { - "atdec": { - "author": "Alessandro Decina ", - "description": "AudioToolbox based audio decoder", - "hierarchy": [ - "GstATDec", - "GstAudioDecoder", - "GstElement", - "GstObject", - "GInitiallyUnowned", - "GObject" - ], - "klass": "Codec/Decoder/Audio", - "long-name": "AudioToolbox based audio decoder", - "pad-templates": { - "sink": { - "caps": "audio/mpeg:\n mpegversion: 4\n framed: true\n channels: [ 1, 2147483647 ]\naudio/mpeg:\n mpegversion: 1\n layer: [ 1, 3 ]\n", - "direction": "sink", - "presence": "always" - }, - "src": { - "caps": "audio/x-raw:\n format: S16LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\naudio/x-raw:\n format: F32LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\n", - "direction": "src", - "presence": "always" - } - }, - "rank": "marginal" - }, "avfassetsrc": { "author": "Andoni Morales Alastruey amorales@fluendo.com", "description": "Read and decode samples from AVFoundation assets using the AVFAssetReader API", @@ -4234,7 +4207,7 @@ }, "avfvideosrc": { "author": "Ole André Vadla Ravnås ", - "description": "Reads frames from an iOS AVFoundation device", + "description": "Reads frames from an iOS/MacOS AVFoundation device", "hierarchy": [ "GstAVFVideoSrc", "GstPushSrc", @@ -4377,6 +4350,62 @@ "readable": true, "type": "GstAVFVideoSourcePosition", "writable": true + }, + "screen-crop-height": { + "blurb": "Height of the screen capture area (0 = maximum)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "screen-crop-width": { + "blurb": "Width of the screen capture area (0 = maximum)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "screen-crop-x": { + "blurb": "Horizontal coordinate of top left corner of the screen capture area", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "screen-crop-y": { + "blurb": "Vertical coordinate of top left corner of the screen capture area", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true } }, "rank": "secondary" @@ -4444,12 +4473,12 @@ "long-name": "Apple VideoToolbox decoder", "pad-templates": { "sink": { - "caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n", + "caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/x-h265:\n stream-format: { (string)hev1, (string)hvc1 }\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n", "direction": "sink", "presence": "always" }, "src": { - "caps": "video/x-raw:\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n", + "caps": "video/x-raw:\n format: { NV12, AYUV64, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n", "direction": "src", "presence": "always" } @@ -4472,12 +4501,12 @@ "long-name": "Apple VideoToolbox decoder (hardware only)", "pad-templates": { "sink": { - "caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n", + "caps": "video/x-h264:\n stream-format: avc\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/x-h265:\n stream-format: { (string)hev1, (string)hvc1 }\n alignment: au\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\nvideo/mpeg:\n mpegversion: 2\n systemstream: false\n parsed: true\nimage/jpeg:\nvideo/x-prores:\n variant: { (string)standard, (string)hq, (string)lt, (string)proxy, (string)4444, (string)4444xq }\n", "direction": "sink", "presence": "always" }, "src": { - "caps": "video/x-raw:\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n", + "caps": "video/x-raw:\n format: { NV12, AYUV64, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, AYUV64, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n texture-target: rectangle\n", "direction": "src", "presence": "always" } @@ -4502,7 +4531,7 @@ "long-name": "H.264 encoder", "pad-templates": { "sink": { - "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", "direction": "sink", "presence": "always" }, @@ -4539,6 +4568,18 @@ "type": "guint", "writable": true }, + "data-rate-limits": { + "blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0,0.00000", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, "max-keyframe-interval": { "blurb": "Maximum number of frames between keyframes (0 = auto)", "conditionally-available": false, @@ -4581,6 +4622,18 @@ "type": "gdouble", "writable": true }, + "rate-control": { + "blurb": "Desired rate control for the encoder", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "abr (0)", + "mutable": "null", + "readable": true, + "type": "GstVtencRateControl", + "writable": true + }, "realtime": { "blurb": "Configure the encoder for realtime output", "conditionally-available": false, @@ -4614,7 +4667,7 @@ "long-name": "H.264 (HW only) encoder", "pad-templates": { "sink": { - "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", "direction": "sink", "presence": "always" }, @@ -4651,6 +4704,18 @@ "type": "guint", "writable": true }, + "data-rate-limits": { + "blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0,0.00000", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, "max-keyframe-interval": { "blurb": "Maximum number of frames between keyframes (0 = auto)", "conditionally-available": false, @@ -4693,6 +4758,558 @@ "type": "gdouble", "writable": true }, + "rate-control": { + "blurb": "Desired rate control for the encoder", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "abr (0)", + "mutable": "null", + "readable": true, + "type": "GstVtencRateControl", + "writable": true + }, + "realtime": { + "blurb": "Configure the encoder for realtime output", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + } + }, + "rank": "primary" + }, + "vtenc_h265": { + "author": "Ole André Vadla Ravnås , Dominik Röttsches ", + "description": "H.265/HEVC encoder", + "hierarchy": [ + "vtenc_h265", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video/Hardware", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-h265:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: hvc1\n alignment: au\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "allow-frame-reordering": { + "blurb": "Whether to allow frame reordering or not", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "bitrate": { + "blurb": "Target video bitrate in kbps (0 = auto)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "data-rate-limits": { + "blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0,0.00000", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "max-keyframe-interval": { + "blurb": "Maximum number of frames between keyframes (0 = auto)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-keyframe-interval-duration": { + "blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709551615", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "quality": { + "blurb": "The desired compression quality", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gdouble", + "writable": true + }, + "rate-control": { + "blurb": "Desired rate control for the encoder", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "abr (0)", + "mutable": "null", + "readable": true, + "type": "GstVtencRateControl", + "writable": true + }, + "realtime": { + "blurb": "Configure the encoder for realtime output", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + } + }, + "rank": "primary" + }, + "vtenc_h265_hw": { + "author": "Ole André Vadla Ravnås , Dominik Röttsches ", + "description": "H.265/HEVC (HW only) encoder", + "hierarchy": [ + "vtenc_h265_hw", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video/Hardware", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-h265:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: hvc1\n alignment: au\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "allow-frame-reordering": { + "blurb": "Whether to allow frame reordering or not", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "bitrate": { + "blurb": "Target video bitrate in kbps (0 = auto)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "data-rate-limits": { + "blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0,0.00000", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "max-keyframe-interval": { + "blurb": "Maximum number of frames between keyframes (0 = auto)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-keyframe-interval-duration": { + "blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709551615", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "quality": { + "blurb": "The desired compression quality", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gdouble", + "writable": true + }, + "rate-control": { + "blurb": "Desired rate control for the encoder", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "abr (0)", + "mutable": "null", + "readable": true, + "type": "GstVtencRateControl", + "writable": true + }, + "realtime": { + "blurb": "Configure the encoder for realtime output", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + } + }, + "rank": "primary" + }, + "vtenc_h265a": { + "author": "Ole André Vadla Ravnås , Dominik Röttsches ", + "description": "H.265/HEVC with alpha encoder", + "hierarchy": [ + "vtenc_h265a", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video/Hardware", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-h265:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: hvc1\n alignment: au\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "allow-frame-reordering": { + "blurb": "Whether to allow frame reordering or not", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "bitrate": { + "blurb": "Target video bitrate in kbps (0 = auto)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "data-rate-limits": { + "blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0,0.00000", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "max-keyframe-interval": { + "blurb": "Maximum number of frames between keyframes (0 = auto)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-keyframe-interval-duration": { + "blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709551615", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "quality": { + "blurb": "The desired compression quality", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gdouble", + "writable": true + }, + "rate-control": { + "blurb": "Desired rate control for the encoder", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "abr (0)", + "mutable": "null", + "readable": true, + "type": "GstVtencRateControl", + "writable": true + }, + "realtime": { + "blurb": "Configure the encoder for realtime output", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + } + }, + "rank": "primary" + }, + "vtenc_h265a_hw": { + "author": "Ole André Vadla Ravnås , Dominik Röttsches ", + "description": "H.265/HEVC with alpha (HW only) encoder", + "hierarchy": [ + "vtenc_h265a_hw", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Codec/Encoder/Video/Hardware", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-h265:\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved }\n stream-format: hvc1\n alignment: au\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "allow-frame-reordering": { + "blurb": "Whether to allow frame reordering or not", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "true", + "mutable": "null", + "readable": true, + "type": "gboolean", + "writable": true + }, + "bitrate": { + "blurb": "Target video bitrate in kbps (0 = auto)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "data-rate-limits": { + "blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0,0.00000", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "max-keyframe-interval": { + "blurb": "Maximum number of frames between keyframes (0 = auto)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2147483647", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "max-keyframe-interval-duration": { + "blurb": "Maximum number of nanoseconds between keyframes (0 = no limit)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "18446744073709551615", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint64", + "writable": true + }, + "quality": { + "blurb": "The desired compression quality", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0.5", + "max": "1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "gdouble", + "writable": true + }, + "rate-control": { + "blurb": "Desired rate control for the encoder", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "abr (0)", + "mutable": "null", + "readable": true, + "type": "GstVtencRateControl", + "writable": true + }, "realtime": { "blurb": "Configure the encoder for realtime output", "conditionally-available": false, @@ -4726,7 +5343,7 @@ "long-name": "Apple ProRes encoder", "pad-templates": { "sink": { - "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, RGBA64_LE, ARGB64_BE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "caps": "video/x-raw:\n format: { AYUV64, UYVY, NV12, I420, ARGB64_BE, RGBA64_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", "direction": "sink", "presence": "always" }, @@ -4763,6 +5380,32 @@ "type": "guint", "writable": true }, + "data-rate-limits": { + "blurb": "Desired bitrate in kbps averaged over a duration in seconds: bitrate,duration (0,0 = disabled)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "0,0.00000", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "max-frame-delay": { + "blurb": "Maximum frames allowed in the compression window (-1 = unlimited)", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, "max-keyframe-interval": { "blurb": "Maximum number of frames between keyframes (0 = auto)", "conditionally-available": false, @@ -4817,6 +5460,18 @@ "type": "gdouble", "writable": true }, + "rate-control": { + "blurb": "Desired rate control for the encoder", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "abr (0)", + "mutable": "null", + "readable": true, + "type": "GstVtencRateControl", + "writable": true + }, "realtime": { "blurb": "Configure the encoder for realtime output", "conditionally-available": false, @@ -253629,4 +254284,4 @@ "tracers": {}, "url": "Unknown package origin" } -} \ No newline at end of file +} diff --git a/subprojects/gst-plugins-good/docs/gst_plugins_cache.json b/subprojects/gst-plugins-good/docs/gst_plugins_cache.json index 67e1c4f6bd..1673eb38de 100644 --- a/subprojects/gst-plugins-good/docs/gst_plugins_cache.json +++ b/subprojects/gst-plugins-good/docs/gst_plugins_cache.json @@ -11556,9 +11556,106 @@ "osxaudio": { "description": "OSX (Mac OS X) audio support for GStreamer", "elements": { + "atdec": { + "author": "Alessandro Decina ", + "description": "AudioToolbox based audio decoder", + "hierarchy": [ + "GstATDec", + "GstAudioDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Audio", + "pad-templates": { + "sink": { + "caps": "audio/mpeg:\n mpegversion: 4\n framed: true\n channels: [ 1, 2147483647 ]\naudio/mpeg:\n mpegversion: 1\n layer: [ 1, 3 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/x-raw:\n format: S16LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\naudio/x-raw:\n format: F32LE\n rate: [ 1, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\n", + "direction": "src", + "presence": "always" + } + }, + "rank": "marginal" + }, + "atenc": { + "author": "Piotr Brzeziński ", + "description": "AudioToolbox based audio encoder for macOS/iOS", + "hierarchy": [ + "GstATEnc", + "GstAudioEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "klass": "Coder/Encoder/Audio/Converter", + "pad-templates": { + "sink": { + "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n rate: { (int)8000, (int)11025, (int)12000, (int)16000, (int)22050, (int)24000, (int)32000, (int)44100, (int)48000 }\n channels: [ 1, 8 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "audio/mpeg:\n mpegversion: 4\n rate: { (int)8000, (int)11025, (int)12000, (int)16000, (int)22050, (int)24000, (int)32000, (int)44100, (int)48000 }\n channels: [ 1, 8 ]\n stream-format: raw\n profile: lc\n framed: true\n", + "direction": "src", + "presence": "always" + } + }, + "properties": { + "bitrate": { + "blurb": "target output bitrate in bps (for rate-control=cbr/lta) (0 - auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "rate-control": { + "blurb": "Mode of output bitrate control to be applied", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "cbr (0)", + "mutable": "null", + "readable": true, + "type": "GstATEncRateControl", + "writable": true + }, + "vbr-quality": { + "blurb": "Sound quality setting for VBR encoding (rate-control=vbr) (0-127)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "65", + "max": "127", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + } + }, + "rank": "primary" + }, "osxaudiosink": { "author": "Zaheer Abbas Merali ", - "description": "Output to a sound card in OS X", + "description": "Output to a sound card on macOS", "hierarchy": [ "GstOsxAudioSink", "GstAudioBaseSink", @@ -11595,6 +11692,18 @@ "type": "gint", "writable": true }, + "unique-id": { + "blurb": "Unique persistent ID for the input device", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": false + }, "volume": { "blurb": "Volume of this stream", "conditionally-available": false, @@ -11614,7 +11723,7 @@ }, "osxaudiosrc": { "author": "Zaheer Abbas Merali ", - "description": "Input from a sound card in OS X", + "description": "Input from a sound card on macOS", "hierarchy": [ "GstOsxAudioSrc", "GstAudioBaseSrc", @@ -11651,6 +11760,18 @@ "readable": true, "type": "gint", "writable": true + }, + "unique-id": { + "blurb": "Unique persistent ID for the input device", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": false } }, "rank": "primary" @@ -11677,7 +11798,7 @@ "elements": { "osxvideosink": { "author": "Zaheer Abbas Merali ", - "description": "OSX native videosink", + "description": "macOS native videosink", "hierarchy": [ "GstOSXVideoSink", "GstVideoSink",