},
"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": {},
"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": [
"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);
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;
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 {
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)) {