GStreamer上“黑名单”的含义是什么?

我正在尝试交叉编译GStreamer。 版本是1.2.3。 主机PC的操作系统是x86 linux,Target系统的操作系统是MIPSEL linux OS。

我成功地为目标设备编译gstreamer插件。 而gst-launch-1.0可以执行。 所以我试图使用基本的插件libgstvideotestsrc。 但它没有工作。 所以我跑“`gst-inspect-1.0'来检查插件,然后find如下的结果。

 # gst-inspect-1.0 -b Blacklisted files: libgstinterlace.so libgstfbdevsink.so libgstgeometrictransform.so libgstmultifile.so libgstencodebin.so libgstfestival.so libgstlevel.so libgstdvdspu.so libgstauparse.so libgsty4menc.so libgstvideofilter.so libgstvideoscale.so libgstaccurip.so libgstvideoconvert.so libgstaudioparsers.so libgsttcp.so libgstvolume.so libgstcoreelements.so libgstmpegtsdemux.so libgstid3tag.so libgstadpcmdec.so libgstmfc.so libgstrtpmanager.so libgstaudiotestsrc.so libgstdeinterlace.so libgstdebug.so libgstplayback.so libgstspeed.so libgstasfmux.so libgsticydemux.so libgstmpegpsdemux.so libgstalaw.so libgstwavparse.so libgstpnm.so libgstnavigationtest.so libgstcamerabin2.so libgstsdpelem.so libgstisomp4.so libgstliveadder.so libgstmpegtsmux.so libgstautodetect.so libgstmultipart.so libgstvideofiltersbad.so libgstaudioresample.so libgstautoconvert.so libgstdvbsuboverlay.so libgstid3demux.so libgstvideobox.so libgstgio.so libgstdtmf.so libgstremovesilence.so libgstreplaygain.so libgstaudioconvert.so libgstcutter.so libgstgaudieffects.so libgstdvb.so libgstaudiovisualizers.so libgstudp.so libgstimagefreeze.so libgstadder.so libgstpcapparse.so libgstmxf.so libgstshapewipe.so libgstgdp.so libgstwavenc.so libgstshm.so libgstflv.so libgstfreeverb.so libgstoss4audio.so libgstsubenc.so libgstaudiorate.so libgstinter.so libgsttypefindfunctions.so libgstvideorate.so libgstrtp.so libgstcoloreffects.so libgstmpegpsmux.so libgstivtc.so libgstjpegformat.so libgstsmpte.so libgstalphacolor.so libgstsubparse.so libgstaudiofxbad.so libgstvideomixer.so libgstmulaw.so libgstdebugutilsbad.so libgsteffectv.so libgstfieldanalysis.so libgstadpcmenc.so libgstrawparse.so libgstavi.so libgstdataurisrc.so libgstapetag.so libgstinterleave.so libgstmidi.so libgstrtsp.so libgstapp.so libgstalpha.so libgstaudiofx.so libgstvideocrop.so libgstvideotestsrc.so libgstspectrum.so libgstbayer.so libgstaiff.so libgstsegmentclip.so libgstfrei0r.so Total count: 106 blacklisted files 

我不知道“黑名单”的含义,以及我应该如何处理这个问题。 请让我知道,如果你需要几个信息来解决这个问题。

这里是我的GStreamer的构buildconfiguration。

 #PACKAGES: Name + version export GST_PLUGIN_BASE="gst-plugins-base-1.2.3" export GST_PLUGIN_GOOD="gst-plugins-good-1.2.3" export GST_PLUGIN_BAD="gst-plugins-bad-1.2.3" #HOST & Build configuration. export HOST="mips-linux-gnu" export BUILD="i686-pc-linux-gnu" #Set path for file system. export BUILD_PATH="~~~~~" export ROOTFS_PATH="${BUILD_PATH}/rootfs" export MIPS_LIB="~~~" export INSTALL_PATH="${ROOTFS_PATH}/usr" export INSTALL_PATH_LIB="${ROOTFS_PATH}/usr/lib" #Compiler options export PATH="${PATH}:${INSTALL_PATH}/bin" export CFLAGS="-I${ROOTFS_PATH}/usr/include -I${ROOTFS_PATH}/usr/include/glib-2.0 -I${ROOTFS_PATH}/usr/lib/glib-2.0/include -I${ROOTFS_PATH}/usr/include/gstreamer-1.0 -I${ROOTFS_PATH}/usr/include/gio-unix-2.0 -mno-compact-eh -EL" export CPPFLAGS="-I${ROOTFS_PATH}/usr/include -I${ROOTFS_PATH}/usr/include/glib-2.0 -I${ROOTFS_PATH}/usr/lib/glib-2.0/include -I${ROOTFS_PATH}/usr/include/gstreamer-1.0 -I${ROOTFS_PATH}/usr/include/gio-unix-2.0 -mno-compact-eh -EL" export CXXFLAGS=$CPPFLAGS export GST_CHECK_CFLAGS="-I${ROOTFS_PATH}/usr/include -I${ROOTFS_PATH}/usr/include/glib-2.0/include" export PKG_CONFIG="/usr/bin/pkg-config" export PKG_CONFIG_PATH="${PATH}:${ROOTFS_PATH}/lib/pkgconfig/:${ROOTFS_PATH}/usr/lib/pkgconfig/:${ROOTFS_PATH}/usr/local/lib/pkgconfig/:/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/lib/pkgconfig" export LD_LIBRARY_PATH="/lib:/usr/local/lib" export CC="~~~mips-linux-gnu-gcc -EL" export CXX="~~~mips-linux-gnu-g++ -EL" cd ${BUILD_PATH} #GStreamer 1.2.3 #http://greenday96.egloos.com/viewer/4627046 wget http://gstreamer.freedesktop.org/src/gstreamer/$GSTREAMER.tar.xz tar xf $GSTREAMER.tar.xz cd $GSTREAMER ./configure --prefix=$INSTALL_PATH --build=$BUILD --host=$HOST --disable-nls --disable-static sudo make sudo make install cd .. #gst-plugin-base 1.2.3 wget http://gstreamer.freedesktop.org/src/gst-plugins-base/$GST_PLUGIN_BASE.tar.xz tar xf $GST_PLUGIN_BASE.tar.xz cd $GST_PLUGIN_BASE ./configure --prefix=$INSTALL_PATH --build=$BUILD --host=$HOST --disable-nls --disable-static --disable-examples --disable-pango sudo make sudo make install cd .. # gst-plugin-good-1.2.3 # http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.2.3.tar.xz wget http://gstreamer.freedesktop.org/src/gst-plugins-good/$GST_PLUGIN_GOOD.tar.xz tar xf $GST_PLUGIN_GOOD.tar.xz cd $GST_PLUGIN_GOOD ./configure --prefix=$INSTALL_PATH --build=$BUILD --host=$HOST --disable-nls --disable-static --disable-valgrind --disable-equalizer --disable-flx --disable-goom --disable-goom2k1 --disable-matroska --disable-monoscope --disable-oss --disable-cairo --disable-gdk_pixbuf --disable-soup --disable-libpng --disable-gst_v4l2 sudo make sudo make install cd .. # gst-plugin-bad-1.2.3 # http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.2.3.tar.xz wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/$GST_PLUGIN_BAD.tar.xz tar xf $GST_PLUGIN_BAD.tar.xz cd $GST_PLUGIN_BAD ./configure --prefix=$INSTALL_PATH --build=$BUILD --host=$HOST --disable-nls --disable-static --disable-y4m --disable-siren --disable-librfb --disable-yadif --disable-smooth --disable-videoparsers --disable-decklink --disable-valgrind --disable-directfb --disable-examples sudo make sudo make install cd .. 

Solutions Collecting From Web of "GStreamer上“黑名单”的含义是什么?"

如果你想知道为什么这些插件被列入黑名单,你可以删除“registry.dat”(运行找到它的位置),然后重新运行gst-inspect,插件将被再次检查,并将其列入黑名单的原因应该打印。

他们被列入黑名单可能有几个原因,如果你这样做,你应该找到他们。

或者,您也可以运行gst-inspect location_of_the_dynamic_library.so

我找到了原因。 这是GLIB,而不是GStreamer。

要为mipsel构建GLIB,我应该设置glib_cv_uscore=no 。 这取决于您的嵌入式设备。 所以请检查您的目标硬件的CPU规格。 所以我做了如下的GLIB的构建脚本。

 #Glib 2.42.1 wget ftp://ftp.gnome.org/pub/gnome/sources/glib/2.42/$GLIB.tar.xz tar xf $GLIB.tar.xz cd $GLIB #Build for MIPS echo "ac_cv_func_posix_getgrgid_r=yes" > mips.cache echo "ac_cv_func_posix_getpwuid_r=yes" >> mips.cache echo "glib_cv_stack_grows=no" >> mips.cache echo "glib_cv_uscore=no" >>mips.cache ./configure --prefix=$INSTALL_PATH --host=$HOST --cache-file=mips.cache --build=$BUILD make make install cd .. 

我从这里得到了线索。