II. 애플리케이션 만들기

애플리케이션 만들기 파트에서는, GStreamer와 엘리먼트, 패드, 버퍼와 같은 기본 객체의 기본 개념에 대해 알아 볼 것 입니다. 우리는 이러한 오브젝트의 시각적 표현을 사용할 것 입니다. 이를 통해 향후 사용자가 만드는 법을 배울 복잡한 파이프 라인을 시각화 할 수 있을 것 입니다. 일단, 기초적인 애플리케이션을 만들기에 충분한 GStreamer API를 간단히 살펴볼 것 입니다. 그리고 이 책의 후반부에서 기복 명령행 입력 애플리케이션을 만드는 법을 배우게 될 것 입니다.

이 파트에서는 저수준의 API와 개념을 다룬 다는 것에 주의하세요. 일단 애플리케이션을 만들게 되면, 사용자는 더 높은 수준의 API 사용을 원할 것 입니다. 더 높은 수준의 API는 이 매뉴얼의 후반부에서 다루게 될 것 입니다.

 

4장. GStreamer 초기화

GStreamer 애플리케이션을 작성할 때, 간단히 gst/gst.h 파일을 인클루드 하는 것으로 라이브러리 펑션에 접근 할 수 있습니니다. 또한, GStreamer 라이브러리 초기화가 필요합니다.


4.1. 간단한 초기화

GStreamer 라이브러리를 사용하기 전에, gst_init를 반드시 호출해야 합니다. 이 호출은 라이브러리에 필요한 초기화 동작을 할 뿐만아니라 GStreamer에서 사용되는 명령행 옵션을 파싱하기도 합니다.

일반적인 프로그램에서 GStreamer를 초기화하는 코드는 아래와 같습니다.

 <GStreamer 초기화 예제 코드>

GST_VERSION_MAJOR, GST_VERSION_MINOR, GST_VERSION_MICRO 매크로나 gst_version 함수를 이용해 현재 애플리케이션에서 사용 중인 GStreamer의 버전을 가지고 올 수 있습니다. GStreamer는 같은 메이저와 마이너 버전을 가져야 API와 ABI 호환성을 가지는 버전 체계를 사용합니다.

그리고, GStreamer에게 전할 커맨드 라인 옵션이 없을 경우, gst_init은 두 개의 NULL인자를 넣어서 부를 수도 있습니다.

 

4.2. GOption 인터페이스

다음에 나오는 예와 같이 사용자는 GOption 테이블을 이용해 자신의 파라미터를 사용할 수 있습니다.

 <GOption을 이용한 초기화>

이 예에서 보이는 것 처럼 GOption 테이블을 이용하여 애플리케이션에 특정한 커맨드 라인 옵션을 정의할 수 있고, 정의한 테이블은 gst_init_get_option_group 함수에서 리턴된 옵션 그룹과 함께 GLib 초기화 함수에 전달됩니다. 사용자의 애플리케이션 옵션은 GStreamer 표준 옵션에 추가되어 파싱될 것 입니다.

Posted by _유부남J군_