What does the blacklist mean in GStreamer?

I am trying to cross compile GStreamer. Version 1.2.3. The host OS is x86 linux, and the target system OS is MIPSEL linux.

I managed to compile gstreamer and plugins for the target device. And gst-launch-1.0 can be executed. So I tried using the base libgstvideotestsrc plugin. But that did not work. So I checked `` gst-inspect-1.0 '' to check the plugins, after which I found the result, as shown below.

 # 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 

I am interested in the meaning of the blacklist and how I should approach this problem. Please let me know if you need information to solve this problem.

Here is my build configuration for GStreamer.

 #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 .. 
+6
source share
2 answers

if you want to know exactly why these plugins are blacklisted, you can delete "registry.dat" (run the location to find out its location) and then repeat the gst check, the plugins will be checked again and the reason for their blacklists should be printed.

There may be several reasons why they are blacklisted; if you do, you should find them.

Alternatively, you can also run gst-inspect location_of_the_dynamic_library.so

+4
source

I have found a reason. This is GLIB, not GStreamer.

To create GLIP for mipsel, I have to set glib_cv_uscore=no . This is up to your embedded device. Therefore, please check the specification of the target hardware processor. So I made a build script for GLIB, as shown below.

 #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 .. 

I got the key from here .

0
source

Source: https://habr.com/ru/post/979389/


All Articles