2014-12-10 7 views
6

Ich versuche, GStreamer zu kompilieren. Version ist 1.2.3. Das Betriebssystem des Host-PCs ist x86 linux und das Betriebssystem des Zielsystems ist MIPSEL linux OS.Was bedeutet "Blacklisted" auf GStreamer?

Es ist mir gelungen, gstreamer und plugins für das Zielgerät zu kompilieren. Und gst-launch-1.0 könnte ausgeführt werden. Also habe ich versucht, das Basis-Plugin libgstvideotestsrc zu verwenden. Aber es hat nicht funktioniert. Also habe ich `` `` gst-inspect-1.0 'ausgeführt, um Plugins zu inspizieren, dann habe ich das Ergebnis wie folgt gefunden.

Ich frage mich die Bedeutung von 'Blacklisted' und wie ich dieses Problem angehen sollte. Bitte lassen Sie mich wissen, wenn Sie mehrere Informationen benötigen, um dieses Problem zu beheben.

Hier ist meine Build-Konfiguration für 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 .. 

Antwort

4

, wenn Sie sicher wissen wollen, warum diese Plugins eine schwarze Liste gesetzt sind, können Sie „registry.dat“ (Lauf finden, um herauszufinden, seine Lage) entfernen, dann erneut ausführen gst-inspizieren, werden die Plugins einmal untersucht werden wieder und der Grund für die schwarze Liste sollte gedruckt werden.

Es kann mehrere Gründe geben, warum sie auf der schwarzen Liste stehen, wenn Sie das tun, sollten Sie sie herausfinden.

Alternativ können Sie auch laufen gst-inspizieren location_of_the_dynamic_library.so

+3

Es ist '' '/ root/.cache/gstreamer-1.0/registry.mips.bin'''. Ich überprüfe diese Datei. Vielen Dank für Ihre Antwort. –

+0

In registry.mips.bin kann ich keine sinnvollen Informationen finden. Es zeigt nur, dass ein Plug-In in der Blacklist aufgeführt ist. Ich kann den Grund nicht verstehen, warum es auf der schwarzen Liste steht. –

0

ich den Grund gefunden. Es ist GLIB, nicht GStreamer.

Um GLIB für Mipsel zu bauen, sollte ich glib_cv_uscore=no setzen. Es liegt an Ihrem eingebetteten Gerät. Bitte überprüfen Sie die CPU-Spezifikation Ihrer Zielhardware. Also habe ich das Build-Skript für GLIB wie folgt erstellt.

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

Ich habe den Schlüssel von here.