我在C中有应用,使用了gstreamer lib
我将GstBuffer推送到appsrc-可以正常工作,正在播放视频,但是我无法获得appsrc元素的大小?
我正在这样做:

  GstElement* element = gst_bin_get_by_name (GST_BIN (mybin), "binname");

     gst_app_src_push_buffer (GST_APP_SRC (element), buffer);
     printf("  SIZE OF APPSRC = %d \n", gst_app_src_get_size(GST_APP_SRC (element)));


我总是看到-1

最佳答案

我认为这是一种参考价值。在流为EOS之前,Appsrc不知道您将向其提供多少数据。因此,它告诉您“未知”。如果通过gst_app_src_set_size()进行设置,则可能会在此处返回相同的结果。与gst_app_src_set/get_duration()相似。 AppSrc使您的应用程序可以控制到管道的提要,因此您不能期望管道为您解决这些问题。

关于c - 为什么gst_app_src_get_size总是返回-1,但总的来说一切正常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47253450/

10-16 11:10