gstreamer v4l2 plugin queries via systemd udev netlink socket devices

Index: tracker-1.8.3/src/libtracker-common/tracker-seccomp.c
===================================================================
--- tracker-1.8.3.orig/src/libtracker-common/tracker-seccomp.c
+++ tracker-1.8.3/src/libtracker-common/tracker-seccomp.c
@@ -144,6 +144,8 @@ tracker_seccomp_init (void)
 	ALLOW_RULE (getsockname);
 	ALLOW_RULE (getpeername);
 	ALLOW_RULE (shutdown);
+	ALLOW_RULE (setsockopt);
+	ALLOW_RULE (bind);
 
 	/* Special requirements for socket/socketpair, only on AF_UNIX/AF_LOCAL */
 	if (seccomp_rule_add (ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 1,
@@ -152,6 +154,9 @@ tracker_seccomp_init (void)
 	if (seccomp_rule_add (ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 1,
 	                      SCMP_CMP(0, SCMP_CMP_EQ, AF_LOCAL)) < 0)
 		goto out;
+	if (seccomp_rule_add (ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 1,
+	                      SCMP_CMP(0, SCMP_CMP_EQ, AF_NETLINK)) < 0)
+		goto out;
 	if (seccomp_rule_add (ctx, SCMP_ACT_ALLOW, SCMP_SYS(socketpair), 1,
 	                      SCMP_CMP(0, SCMP_CMP_EQ, AF_UNIX)) < 0)
 		goto out;
Index: tracker-1.8.3/src/tracker-extract/tracker-extract-gstreamer.c
===================================================================
--- tracker-1.8.3.orig/src/tracker-extract/tracker-extract-gstreamer.c
+++ tracker-1.8.3/src/tracker-extract/tracker-extract-gstreamer.c
@@ -1619,6 +1619,8 @@ tracker_extract_gstreamer (const gchar
 	GstBuffer *buffer;
 	gchar *cue_sheet;
 	gboolean success;
+	char** gstargv = (char*[]) {"tracker-extract", "--gst-disable-registry-fork", NULL};
+	int gstargc = 2;
 
 #ifdef HAVE_LIBMEDIAART
 	MediaArtProcess *media_art_process;
@@ -1633,7 +1635,7 @@ tracker_extract_gstreamer (const gchar
 
 	g_return_if_fail (metadata);
 
-	gst_init (NULL, NULL);
+	gst_init (&gstargc, &gstargv);
 
 	extractor = g_slice_new0 (MetadataExtractor);
 	extractor->mime = type;
