2013-05-21 2 views
0

임베디드 시스템에서 gstreamer를 실험하고 있으며 gstreamer에서 사용할 최대 메모리 양을 결정하는 방법이 있는지 궁금합니다. 간단한 source -> filter -> filter -> sink 파이프 라인이 있다면 각 스테이지에서 할당 할 버퍼 수와 최대 크기는 무엇인지 알아낼 수 있습니까?GStreamer 메모리 버퍼 사용

내 이해는 메모리 사용을 제한 할 수는 없지만 최악의 시나리오를 이해하고 싶습니다. 이것이 가능하거나 실행 시간 조건 및/또는 데이터 내용에 너무 의존적입니까? 또한 gstreamer를 처음 사용하기 때문에 파이프 라인에 추가하여 결정 성을 높일 수 있는지 알려주세요.

감사합니다.

답변

1

gstreamer-0.10을 사용하면 gst-tracelib (http://cgit.freedesktop.org/~ensonic/gst-tracelib/)을 사용하여 예를 들어 피크 메모리 소비 및 다양한 데이터 흐름은 통계와 관련됩니다. 일반적으로 요소는 버퍼의 사본을 보관하지 않습니다. 예외는 예 : 요소 및 코덱과 같은 대기열 (참조 버퍼를 유지해야 함) 많은 요소가 즉석에서 작동하려고합니다. 즉, 새 버퍼를 할당하지 않고 수신 한 버퍼를 변경하여 전달합니다 (예 : 볼륨).