2017-11-12 1 views
0

나는 C에서 gstreamer 라이브러리 인 을 사용하고 있으며 GstBuffer를 appsrc에 푸시합니다. 작동하지만 비디오가 재생되고 있지만 appsrc 요소의 크기를 얻을 수 없습니까? 나는이 일을하고있다 :왜 gst_app_src_get_size가 항상 -1을 반환하지만 일반적으로 모든 것이 잘 작동합니까?

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

답변

0

내가 그는 정보 가치라고 생각합니다. Appsrc는 스트림이 EOS이기 전에 피드 할 데이터의 양을 알지 못합니다. 그러므로 그것은 알려지지 않았습니다. gst_app_src_set_size()을 통해 설정하면 아마도 여기에서 같은 결과가 반환됩니다. gst_app_src_set/get_duration()와 유사합니다. AppSrc는 파이프 라인에 대한 피드 제어 기능을 제공하므로 파이프 라인이 이러한 기능을 파악할 수는 없습니다.

관련 문제