擅长:python、mysql、java
<p>我觉得你不必为appsink操心。我的直觉是,你越能把代码转换部分和文件系统部分分开越好。在一个单独的线程或进程中转换成filesink,并传递消息告诉FUSE守护进程代码转换的进展情况。在</p>
<p>我不使用appsink,而是使用filesink,在多个工作线程/进程中进行代码转换,这些线程/进程将.mp3写入一个大小控制的缓存目录,并在正在进行的代码转换文件足够长以满足请求之前使用<code>read()</code>块。在</p>
<p>这是filesink的源代码。在没有查找的情况下,它似乎只是将每个缓冲区的内容附加到文件中。<a href="http://mediatools.cs.ucl.ac.uk/nets/newvideo/browser/gst-cvs/gstreamer/plugins/elements/gstfilesink.c#L436" rel="nofollow noreferrer">http://mediatools.cs.ucl.ac.uk/nets/newvideo/browser/gst-cvs/gstreamer/plugins/elements/gstfilesink.c#L436</a></p>
<p>您还可以通过下载mp3fs或<a href="http://code.google.com/p/gstfs/" rel="nofollow noreferrer">gstfs</a>为自己节省大量的时间和麻烦,这已经基本上完成了您提到的内容。在</p>