docs: mark more types as plugin API
authorMathieu Duponchelle <mathieu@centricular.com>
Tue, 23 Jun 2020 00:51:48 +0000 (02:51 +0200)
committerThibault Saunier <tsaunier@igalia.com>
Tue, 23 Jun 2020 16:10:19 +0000 (12:10 -0400)
docs/plugins/gst_plugins_cache.json
ext/opencv/gstcvdilateerode.cpp
sys/nvcodec/gstnvbaseenc.c
sys/nvcodec/gstnvdec.c
sys/nvcodec/gstnvh264dec.c

index e00f7ed717dabf4c9bd8f362edcc8f31d265ce76..e191e98d601cdf67f39f463278f354567f8a25d6 100644 (file)
         },
         "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": {},
                     }
                 ]
             },
+            "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": [
                     }
                 ]
             },
+            "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": [
         },
         "filename": "gstwaylandsink",
         "license": "LGPL",
-        "other-types": {},
+        "other-types": {
+            "GstWaylandVideo": {
+                "hierarchy": [
+                    "GstWaylandVideo",
+                    "GInterface"
+                ],
+                "kind": "interface"
+            }
+        },
         "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
index 794783c76c0839cdde05307f597f4e7520ea7098..77a7ec45993525397b481f56761afd0867bc5a79 100644 (file)
@@ -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
index 7ff102d7f8d70789eeffaa79c6d8b7cf8a9a05a0..0b803525d3e56d2995d8a5b2cbebf4025b55d387 100644 (file)
@@ -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;
index dfad5a75fcbeb908c8600ad49414ce94df1e6328..ef7ca4e8e2d773b84ae081997f60aa0604e59013 100644 (file)
@@ -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
index e22f4bdd2b9bb0ee9f314ce13d4ca68659a9662f..e050f31e375db871af793bbc80d23366b01b5b74 100644 (file)
@@ -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