在特定接收器传输了多少数据

时间:2011-07-31 21:45:51

标签: c gstreamer

实现了一个奇怪的框架之后,我必须知道在实际传输数据之前,在特定的tcpsink上将传递多少字节。 (实际上是一个相当大的数据量。大约100兆字节。)

  • 我分离了音频和视频数据文件(例如Vorbis,AAC,Theora和h.264),我的“守护程序”充当了一个Web服务,可以根据请求将数据复合在一起。

  • 不幸的是,我需要提供正确的Content-Length标头,因为除非您至少播放一次多路复用过程,否则无法知道将要传送的实际数据量。

    < / LI>

我的问题是:我可以吗在第一次运行时在管道末端放置一个fakesink并查询它,它收到了多少字节?我该如何查询?

现在我使用fdsink并计算我读取的字节数,但我猜有更好的方法。有没有更好的办法? :)

1 个答案:

答案 0 :(得分:1)

你可以通过多种方式实现这一目标。一种让人想到的方法是使用fakesink,并将缓冲探针连接到src垫上,以便进入fakesink。然后,您将获得每个缓冲区的回调,并且可以简单地计算字节数。

你可以使用带有切换回调的appsink来达到同样的效果。