我在做一个嵌入式系统的项目开发时,发生了一个eMMC存储分区空间不足的问题。最后调查到发生原因是由gstreamer引起的。在系统上电后,gst-plugin_scanner分扫描系统内集成的gstreamer插件,在扫描插件的过程中会在 $HOME/.gstreamer-0.10/目录下生成gstreamer registry.aarch64.bin.tmpXXXX的文件。在全部gstreamer插件扫描完了成,gstreamer registry.aarch64.bin.tmpXXXX会合并生成最终的registry.aarch64.bin的文件。
如果在gst-plugin_scanner正在扫描的过程中发生突然断电,则registry.aarch64.bin.tmpXXXX的缓存文件在下次启动不会被删除。如果发生了很多这个情况,你的缓存分区就会发生存储空间不足的问题。
其它知识点:
1、使用gst-inspect命令来查看plugin时,就会在$HOME/.gstreamer-0.10/建立一个cache文件。
2、下记几个重要的环境变量需要配制,详细配制请参考OSS官网。
GST_PLUGIN_SCANNER
GST_PLUGIN_PATH
GST_PLUGIN_SYSTEM_PATH