Basic tutorial 3: Dynamic pipelines
오디오가 들림
이전 튜토리얼에서 설명하지 않은 GStreamer 기본 개념의 나머지 부분을 설명한다. 파이프라인 구성에 필요한 정보가 부족할 경우 대기했다가 정보가 충분해졌을 때 파이프라인을 구성할 수 있다.
이번 튜토리얼에선 Playback tutorials를 시작하기 위해 미리 알아야할 내용을 배울 것이다. 내용은 다음과 같다:
이번엔 파이프라인을 완벽하게 구현하지 않고 재생 상태로 바꾼다. 하지만 문제는 없다. 추가적인 조치를 하지 않으면 데이터가 파이프라인 끝에 도달한뒤 에러 메시지와 함께 멈출 것이다. 물론, 추가적인 조치를 취할 것이다…
multiplexed(오디오와 비디오가 함께 저장되어 있는) 파일을(container) 열 것이다. 컨테이너 형식에는 Matroska(MKV), Quick Time(QT, MOV), Ogg, Advanced Systems Format(ASF, WMV, WMA) 등이 있다. 이런 컨테이너를 여는 엘리먼트를 **디먹서"demuxers"**라고 부른다.
만약 컨테이너에 streams이 여럿 있다면(예를 들어, 비디오1개, 오디오 트랙 2개) 디먹서는 각 데이터 스트림을 분리하고 각각을 다른 출력 포트로 보낼 것이다. 이런 방법으로 파이프라인에 다른 타입의 데이터를 다루는 브랜치"branches"가 여럿 생긴다.
GStreamer element 간의 소통에 사용되는 포트는 패드“pads”(GstPad)라고 부른다. element로 데이터가 들어가는 통로를 sink pad라고 하고 element에서 데이터가 나가는 통로를 src pad라고 한다. 당연하게도 src element는 src pad만 가지고 있고 sink element는 sink pad만 가지며 filter element는 둘 모두를 가진다.

