2011-07-31 3 views
-2

이상한 프레임 워크가 구현되었으므로 실제로 데이터를 전송하기 전에 특정 tcpsink에서 몇 바이트가 전달되는지 알아야합니다. 나는 오디오 및 비디오 데이터 파일을 분리 한특정 싱크에서 얼마나 많은 데이터가 전송 되었습니까?

  • (데이터의 다소 많은 양의 사실. 일부 1백메가바이트.) (예를 들어 보비스, AAC, 테오 라 (Theora) 및 H.264)과 같은 내 "디먼에"행위 요청에 따라 데이터를 함께 혼합하는 webservice.

  • 불행히도 올바른 Content-Length 헤더를 제공해야하며 실제로 한 번 이상 다중 합성 프로세스를 실행하지 않으면 전달 될 실제 데이터 양을 알 수있는 방법이 없습니다.

내 질문은 : 첫 번째 실행시 파이프 끝 부분에 fakesink를 놓고 조회 한 후 얼마나 많은 바이트를 받았 는가? 어떻게 쿼리합니까?

필자는 fdsink를 사용하여 읽은 바이트 수를 계산했지만 더 나은 방법이 있다고 생각합니다. 더 좋은 방법이 있습니까? :)

+0

Downvoter : 의견을주십시오. – kay

답변

1

당신은 여러 가지 방법으로 그것을 할 수 있습니다. 염두에 두어야 할 한 가지 방법은 fakesink를 사용하고 fakesink에게 먹이를주는 src 패드에 버퍼 프로브를 연결하는 것입니다. 그런 다음 각 버퍼에 대한 콜백을 가져오고 간단히 바이트 수를 계산할 수 있습니다.

동일한 효과로 핸드 프리 콜백과 함께 appsink를 사용할 수 있습니다.

관련 문제