--- /dev/null
+diff -urN rpm/lib/rpmfc.c rpm.new/lib/rpmfc.c
+--- rpm/lib/rpmfc.c 2008-12-28 13:38:03.000000000 +0100
++++ rpm.new/lib/rpmfc.c 2008-12-28 13:44:15.000000000 +0100
+@@ -960,13 +960,17 @@
+ /*@modifies rpmGlobalMacroContext, fileSystem, internalState @*/
+ {
+ const char * fn = fc->fn[fc->ix];
+- int flags = 0;
++ int flags = 0, xx;
+
+ if (fc->skipProv)
+ flags |= RPMELF_FLAG_SKIPPROVIDES;
+ if (fc->skipReq)
+ flags |= RPMELF_FLAG_SKIPREQUIRES;
+
++ /* it may be gst plugin */
++ if (strstr(fn, "/gstreamer-"))
++ xx = rpmfcHelper(fc, 'P', "gstreamer");
++
+ return rpmdsELF(fn, flags, rpmfcMergePR, fc);
+ }
+
+diff -urN rpm/macros.in rpm.new/macros.in
+--- rpm/macros.in 2008-12-28 13:38:02.000000000 +0100
++++ rpm.new/macros.in 2008-12-28 15:18:46.000000000 +0100
+@@ -1505,5 +1505,7 @@
+ # helper is also used by %{_rpmhome}/rpmdeps --provides
+ %__mimetype_provides %{_rpmhome}/mimetypedeps.sh --provides
+
++%__gstreamer_provides %{nil}
++
+ # \endverbatim
+ #*/