From ad49ae42f7024ea304a6cc9c4efa1997c016d119 Mon Sep 17 00:00:00 2001 From: Mathieu Duponchelle Date: Tue, 23 Jun 2020 02:51:48 +0200 Subject: [PATCH] docs: mark more types as plugin API --- docs/plugins/gst_plugins_cache.json | 706 +++++++++++++++++++++++++++++++++++- ext/opencv/gstcvdilateerode.cpp | 2 + sys/nvcodec/gstnvbaseenc.c | 6 + sys/nvcodec/gstnvdec.c | 1 + sys/nvcodec/gstnvh264dec.c | 2 + 5 files changed, 715 insertions(+), 2 deletions(-) diff --git a/docs/plugins/gst_plugins_cache.json b/docs/plugins/gst_plugins_cache.json index e00f7ed..e191e98 100644 --- a/docs/plugins/gst_plugins_cache.json +++ b/docs/plugins/gst_plugins_cache.json @@ -208123,7 +208123,503 @@ }, "filename": "gstnvcodec", "license": "LGPL", - "other-types": {}, + "other-types": { + "GstNvBaseEnc": { + "hierarchy": [ + "GstNvBaseEnc", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "kind": "object", + "properties": { + "aq-strength": { + "blurb": "Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "15", + "min": "0", + "mutable": "playing", + "readable": true, + "type": "guint", + "writable": true + }, + "bitrate": { + "blurb": "Bitrate in kbit/sec (0 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2048000", + "min": "0", + "mutable": "playing", + "readable": true, + "type": "guint", + "writable": true + }, + "const-quality": { + "blurb": "Target Constant Quality level for VBR mode (0 = automatic)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "51", + "min": "0", + "mutable": "playing", + "readable": true, + "type": "gdouble", + "writable": true + }, + "cuda-device-id": { + "blurb": "Get the GPU device to use for operations", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": false + }, + "gop-size": { + "blurb": "Number of frames between intra frames (-1 = infinite)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "75", + "max": "2147483647", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "i-adapt": { + "blurb": "Enable adaptive I-frame insert when lookahead is enabled", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "ready", + "readable": true, + "type": "gboolean", + "writable": true + }, + "max-bitrate": { + "blurb": "Maximum Bitrate in kbit/sec (ignored for CBR mode)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "0", + "max": "2048000", + "min": "0", + "mutable": "playing", + "readable": true, + "type": "guint", + "writable": true + }, + "nonref-p": { + "blurb": "Automatic insertion of non-reference P-frames", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "playing", + "readable": true, + "type": "gboolean", + "writable": true + }, + "preset": { + "blurb": "Encoding Preset", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "default (0)", + "mutable": "playing", + "readable": true, + "type": "GstNvPreset", + "writable": true + }, + "qp-const": { + "blurb": "Constant quantizer (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-const-b": { + "blurb": "Constant QP value for B frame, When >= 0, \"qp-const-i\" and \"qp-const-p\" should be also >= 0. Overwritten by \"qp-const\" (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-const-i": { + "blurb": "Constant QP value for I frame, When >= 0, \"qp-const-p\" and \"qp-const-b\" should be also >= 0. Overwritten by \"qp-const\" (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-const-p": { + "blurb": "Constant QP value for P frame, When >= 0, \"qp-const-i\" and \"qp-const-b\" should be also >= 0. Overwritten by \"qp-const\" (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-max": { + "blurb": "Maximum quantizer (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-max-b": { + "blurb": "Maximum QP value for B frame, When >= 0, \"qp-max-i\" and \"qp-max-p\" should be also >= 0. Overwritten by \"qp-max\" (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-max-i": { + "blurb": "Maximum QP value for I frame, When >= 0, \"qp-max-p\" and \"qp-max-b\" should be also >= 0. Overwritten by \"qp-max\" (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-max-p": { + "blurb": "Maximum QP value for P frame, When >= 0, \"qp-max-i\" and \"qp-max-b\" should be also >= 0. Overwritten by \"qp-max\" (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-min": { + "blurb": "Minimum quantizer (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-min-b": { + "blurb": "Minimum QP value for B frame, When >= 0, \"qp-min-i\" and \"qp-min-p\" should be also >= 0. Overwritten by \"qp-min\" (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-min-i": { + "blurb": "Minimum QP value for I frame, When >= 0, \"qp-min-p\" and \"qp-min-b\" should be also >= 0. Overwritten by \"qp-min\" (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "qp-min-p": { + "blurb": "Minimum QP value for P frame, When >= 0, \"qp-min-i\" and \"qp-min-b\" should be also >= 0. Overwritten by \"qp-min\" (-1 = from NVENC preset)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "51", + "min": "-1", + "mutable": "playing", + "readable": true, + "type": "gint", + "writable": true + }, + "rc-mode": { + "blurb": "Rate Control Mode", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "default (0)", + "mutable": "playing", + "readable": true, + "type": "GstNvRCMode", + "writable": true + }, + "spatial-aq": { + "blurb": "Spatial Adaptive Quantization", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "playing", + "readable": true, + "type": "gboolean", + "writable": true + }, + "strict-gop": { + "blurb": "Minimize GOP-to-GOP rate fluctuations", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "playing", + "readable": true, + "type": "gboolean", + "writable": true + }, + "zerolatency": { + "blurb": "Zero latency operation (no reordering delay)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "false", + "mutable": "playing", + "readable": true, + "type": "gboolean", + "writable": true + } + } + }, + "GstNvDec": { + "hierarchy": [ + "GstNvDec", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "kind": "object" + }, + "GstNvDevice0H264Enc": { + "hierarchy": [ + "GstNvDevice0H264Enc", + "GstNvBaseEnc", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "kind": "object" + }, + "GstNvDevice0H265Enc": { + "hierarchy": [ + "GstNvDevice0H265Enc", + "GstNvBaseEnc", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "kind": "object" + }, + "GstNvH264Dec": { + "hierarchy": [ + "GstNvH264Dec", + "GstH264Decoder", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "kind": "object" + }, + "GstNvPreset": { + "kind": "enum", + "values": [ + { + "desc": "Default", + "name": "default", + "value": "0" + }, + { + "desc": "High Performance", + "name": "hp", + "value": "1" + }, + { + "desc": "High Quality", + "name": "hq", + "value": "2" + }, + { + "desc": "Low Latency", + "name": "low-latency", + "value": "3" + }, + { + "desc": "Low Latency, High Quality", + "name": "low-latency-hq", + "value": "4" + }, + { + "desc": "Low Latency, High Performance", + "name": "low-latency-hp", + "value": "5" + }, + { + "desc": "Lossless", + "name": "lossless", + "value": "6" + }, + { + "desc": "Lossless, High Performance", + "name": "lossless-hp", + "value": "7" + } + ] + }, + "GstNvRCMode": { + "kind": "enum", + "values": [ + { + "desc": "Default", + "name": "default", + "value": "0" + }, + { + "desc": "Constant Quantization", + "name": "constqp", + "value": "1" + }, + { + "desc": "Constant Bit Rate", + "name": "cbr", + "value": "2" + }, + { + "desc": "Variable Bit Rate", + "name": "vbr", + "value": "3" + }, + { + "desc": "Variable Bit Rate (with minimum quantization parameter, DEPRECATED)", + "name": "vbr-minqp", + "value": "4" + }, + { + "desc": "Low-Delay CBR, High Quality", + "name": "cbr-ld-hq", + "value": "5" + }, + { + "desc": "CBR, High Quality (slower)", + "name": "cbr-hq", + "value": "6" + }, + { + "desc": "VBR, High Quality (slower)", + "name": "vbr-hq", + "value": "7" + } + ] + } + }, "package": "GStreamer Bad Plug-ins", "source": "gst-plugins-bad", "tracers": {}, @@ -210455,6 +210951,35 @@ } ] }, + "GstCvDilateErode": { + "hierarchy": [ + "GstCvDilateErode", + "GstOpencvVideoFilter", + "GstVideoFilter", + "GstBaseTransform", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "kind": "object", + "properties": { + "iterations": { + "blurb": "Number of iterations to run the algorithm", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "2147483647", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + } + }, "GstCvSmoothTypeType": { "kind": "enum", "values": [ @@ -213628,6 +214153,175 @@ } ] }, + "GstRtmpLocationHandler": { + "hierarchy": [ + "GstRtmpLocationHandler", + "GInterface" + ], + "kind": "interface", + "properties": { + "application": { + "blurb": "RTMP application path", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "live", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "authmod": { + "blurb": "RTMP authorization mode", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "auto (1)", + "mutable": "null", + "readable": true, + "type": "GstRtmpAuthmod", + "writable": true + }, + "flash-version": { + "blurb": "Flash version reported to the server", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "LNX 10,0,32,18", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "host": { + "blurb": "RTMP server host name", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "localhost", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "location": { + "blurb": "Location of RTMP stream to access", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "rtmp://localhost/live/myStream", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "password": { + "blurb": "RTMP authorization password", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "port": { + "blurb": "RTMP server port", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1935", + "max": "65535", + "min": "1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + }, + "scheme": { + "blurb": "RTMP connection scheme", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "rtmp (0)", + "mutable": "null", + "readable": true, + "type": "GstRtmpScheme", + "writable": true + }, + "secure-token": { + "blurb": "RTMP authorization token", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "stream": { + "blurb": "RTMP stream path", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "myStream", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + }, + "timeout": { + "blurb": "RTMP timeout in seconds", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "5", + "max": "-1", + "min": "0", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "tls-validation-flags": { + "blurb": "TLS validation flags to use", + "conditionally-available": false, + "construct": true, + "construct-only": false, + "controllable": false, + "default": "validate-all", + "mutable": "null", + "readable": true, + "type": "GTlsCertificateFlags", + "writable": true + }, + "username": { + "blurb": "RTMP authorization user name", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "NULL", + "mutable": "null", + "readable": true, + "type": "gchararray", + "writable": true + } + } + }, "GstRtmpScheme": { "kind": "enum", "values": [ @@ -220149,7 +220843,15 @@ }, "filename": "gstwaylandsink", "license": "LGPL", - "other-types": {}, + "other-types": { + "GstWaylandVideo": { + "hierarchy": [ + "GstWaylandVideo", + "GInterface" + ], + "kind": "interface" + } + }, "package": "GStreamer Bad Plug-ins", "source": "gst-plugins-bad", "tracers": {}, diff --git a/ext/opencv/gstcvdilateerode.cpp b/ext/opencv/gstcvdilateerode.cpp index 794783c..77a7ec4 100644 --- a/ext/opencv/gstcvdilateerode.cpp +++ b/ext/opencv/gstcvdilateerode.cpp @@ -145,6 +145,8 @@ gst_cv_dilate_erode_class_init (GstCvDilateErodeClass * klass) templ = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, caps); gst_element_class_add_pad_template (element_class, templ); gst_caps_unref (caps); + + gst_type_mark_as_plugin_api (GST_TYPE_CV_DILATE_ERODE, (GstPluginAPIFlags) 0); } /* initialize the new element diff --git a/sys/nvcodec/gstnvbaseenc.c b/sys/nvcodec/gstnvbaseenc.c index 7ff102d..0b80352 100644 --- a/sys/nvcodec/gstnvbaseenc.c +++ b/sys/nvcodec/gstnvbaseenc.c @@ -439,6 +439,10 @@ gst_nv_base_enc_class_init (GstNvBaseEncClass * klass) DEFAULT_QP_DETAIL, G_PARAM_READWRITE | GST_PARAM_MUTABLE_PLAYING | G_PARAM_STATIC_STRINGS)); + + gst_type_mark_as_plugin_api (GST_TYPE_NV_BASE_ENC, 0); + gst_type_mark_as_plugin_api (GST_TYPE_NV_PRESET, 0); + gst_type_mark_as_plugin_api (GST_TYPE_NV_RC_MODE, 0); } static gboolean @@ -2711,6 +2715,8 @@ gst_nv_base_enc_register (const char *codec, guint device_id, subtype = g_type_register_static (GST_TYPE_NV_BASE_ENC, type_name, &type_info, 0); + gst_type_mark_as_plugin_api (subtype, 0); + done: g_free (type_name); return subtype; diff --git a/sys/nvcodec/gstnvdec.c b/sys/nvcodec/gstnvdec.c index dfad5a7..ef7ca4e 100644 --- a/sys/nvcodec/gstnvdec.c +++ b/sys/nvcodec/gstnvdec.c @@ -187,6 +187,7 @@ gst_nvdec_class_init (GstNvDecClass * klass) video_decoder_class->negotiate = GST_DEBUG_FUNCPTR (gst_nvdec_negotiate); element_class->set_context = GST_DEBUG_FUNCPTR (gst_nvdec_set_context); + gst_type_mark_as_plugin_api (GST_TYPE_NVDEC, 0); } static void diff --git a/sys/nvcodec/gstnvh264dec.c b/sys/nvcodec/gstnvh264dec.c index e22f4bd..e050f31 100644 --- a/sys/nvcodec/gstnvh264dec.c +++ b/sys/nvcodec/gstnvh264dec.c @@ -201,6 +201,8 @@ gst_nv_h264_dec_class_init (GstNvH264DecClass * klass) GST_DEBUG_CATEGORY_INIT (gst_nv_h264_dec_debug, "nvh264dec", 0, "Nvidia H.264 Decoder"); + + gst_type_mark_as_plugin_api (GST_TYPE_NV_H264_DEC, 0); } static void -- 2.7.4