mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 01:45:33 +00:00
docs: Add some more plugin API types
And allow creating vulkan device object without specifying an instance so it can be introspected.
This commit is contained in:
parent
3a98a37375
commit
60fba5f380
4 changed files with 148 additions and 2 deletions
|
@ -13287,7 +13287,43 @@
|
|||
},
|
||||
"filename": "gstfaac",
|
||||
"license": "LGPL",
|
||||
"other-types": {},
|
||||
"other-types": {
|
||||
"GstFaacBrtype": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "VBR",
|
||||
"name": "VBR encoding",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"desc": "ABR",
|
||||
"name": "ABR encoding",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
"GstFaacShortCtl": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "SHORTCTL_NORMAL",
|
||||
"name": "Normal block type",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"desc": "SHORTCTL_NOSHORT",
|
||||
"name": "No short blocks",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"desc": "SHORTCTL_NOLONG",
|
||||
"name": "No long blocks",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": "GStreamer Bad Plug-ins git",
|
||||
"source": "gst-plugins-bad",
|
||||
"tracers": {},
|
||||
|
@ -178527,6 +178563,103 @@
|
|||
"filename": "gstvulkan",
|
||||
"license": "LGPL",
|
||||
"other-types": {
|
||||
"GstVulkanDevice": {
|
||||
"hierarchy": [
|
||||
"GstVulkanDevice",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"kind": "object",
|
||||
"properties": {
|
||||
"instance": {
|
||||
"blurb": "Associated Vulkan Instance",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"mutable": "playing",
|
||||
"readable": true,
|
||||
"type": "GstVulkanInstance",
|
||||
"writable": false
|
||||
},
|
||||
"physical-device": {
|
||||
"blurb": "Associated Vulkan Physical Device",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": true,
|
||||
"controllable": false,
|
||||
"mutable": "playing",
|
||||
"readable": true,
|
||||
"type": "GstVulkanPhysicalDevice",
|
||||
"writable": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"GstVulkanInstance": {
|
||||
"hierarchy": [
|
||||
"GstVulkanInstance",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"kind": "object",
|
||||
"signals": {
|
||||
"create-device": {
|
||||
"args": [],
|
||||
"return-type": "GstVulkanDevice",
|
||||
"when": "last"
|
||||
}
|
||||
}
|
||||
},
|
||||
"GstVulkanPhysicalDevice": {
|
||||
"hierarchy": [
|
||||
"GstVulkanPhysicalDevice",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"kind": "object",
|
||||
"properties": {
|
||||
"device-index": {
|
||||
"blurb": "Device Index",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": true,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "-1",
|
||||
"min": "0",
|
||||
"mutable": "playing",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"instance": {
|
||||
"blurb": "Associated Vulkan Instance",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": true,
|
||||
"controllable": false,
|
||||
"mutable": "playing",
|
||||
"readable": true,
|
||||
"type": "GstVulkanInstance",
|
||||
"writable": true
|
||||
},
|
||||
"name": {
|
||||
"blurb": "Device Name",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "",
|
||||
"mutable": "playing",
|
||||
"readable": true,
|
||||
"type": "gchararray",
|
||||
"writable": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"GstVulkanStereoDownmix": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
|
|
|
@ -204,6 +204,9 @@ gst_faac_class_init (GstFaacClass * klass)
|
|||
"Free MPEG-2/4 AAC encoder",
|
||||
"Ronald Bultje <rbultje@ronald.bitfreak.net>");
|
||||
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_FAAC_RATE_CONTROL, 0);
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_FAAC_SHORTCTL, 0);
|
||||
|
||||
base_class->stop = GST_DEBUG_FUNCPTR (gst_faac_stop);
|
||||
base_class->set_format = GST_DEBUG_FUNCPTR (gst_faac_set_format);
|
||||
base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_faac_handle_frame);
|
||||
|
|
|
@ -149,6 +149,10 @@ gst_vulkan_sink_class_init (GstVulkanSinkClass * klass)
|
|||
gst_element_class_add_static_pad_template (element_class,
|
||||
&gst_vulkan_sink_template);
|
||||
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_VULKAN_DEVICE, 0);
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_VULKAN_PHYSICAL_DEVICE, 0);
|
||||
gst_type_mark_as_plugin_api (GST_TYPE_VULKAN_INSTANCE, 0);
|
||||
|
||||
gobject_class->finalize = gst_vulkan_sink_finalize;
|
||||
|
||||
gstelement_class->change_state = gst_vulkan_sink_change_state;
|
||||
|
|
|
@ -112,7 +112,8 @@ gst_vulkan_physical_device_set_property (GObject * object, guint prop_id,
|
|||
break;
|
||||
case PROP_DEVICE_ID:{
|
||||
guint device_id = g_value_get_uint (value);
|
||||
if (device_id >= device->instance->n_physical_devices) {
|
||||
if (device->instance == VK_NULL_HANDLE
|
||||
|| device_id >= device->instance->n_physical_devices) {
|
||||
g_critical ("%s: Cannot set device-index larger than the "
|
||||
"number of physical devices", GST_OBJECT_NAME (device));
|
||||
} else {
|
||||
|
@ -159,6 +160,11 @@ gst_vulkan_physical_device_constructed (GObject * object)
|
|||
GstVulkanPhysicalDevice *device = GST_VULKAN_PHYSICAL_DEVICE (object);
|
||||
GError *error = NULL;
|
||||
|
||||
if (device->instance == VK_NULL_HANDLE) {
|
||||
GST_ERROR_OBJECT (object, "Constructed without any instance set");
|
||||
return;
|
||||
}
|
||||
|
||||
device->device = device->instance->physical_devices[device->device_index];
|
||||
|
||||
if (!gst_vulkan_physical_device_fill_info (device, &error)) {
|
||||
|
|
Loading…
Reference in a new issue