다음을 통해 공유


ASF 미디어 싱크

ASF 미디어 싱크는 애플리케이션이 ASF 파일을 작성할 수 있도록 하는 인코딩 파이프라인의 최종 구성 요소입니다.

Media Foundation은 다음 두 가지 유형의 ASF 미디어 싱크를 제공합니다.

  • ASF 파일 싱크 는 ASF 미디어 데이터를 파일에 보관하는 데 사용됩니다.
  • ASF 스트리밍 싱크 는 네트워크를 통해 스트리밍할 수 있는 바이트 스트림에 ASF 콘텐츠를 작성하는 데 사용됩니다.

ASF 미디어 싱크에는 출력 ASF 파일의 각 스트림에 대해 쓸 데이터를 나타내는 하나 이상의 스트림 싱크가 포함되어 있습니다. Windows Vista에서 실행되는 인코딩 애플리케이션의 경우 ASF 미디어 싱크를 만들고 구성한 다음 토폴로지에 추가하여 인코딩 토폴로지를 수동으로 구성해야 합니다. Windows 7에서 빠른 코드 변환 개체를 사용하여 토폴로지를 만드는 경우 미디어 싱크를 직접 만들지 않고 애플리케이션이 미디어 싱크 또는 스트림 싱크에서 메서드를 호출하지 않습니다. 빠른 코드 변환 개체는 호출자 애플리케이션에 대한 참조를 반환하기 전에 필요한 미디어 싱크를 인스턴스화하고 토폴로지에 추가합니다. 그러나 빠른 코드 변환 개체의 경우 인코딩 유형에 따라 적용되는 몇 가지 제한 사항이 있습니다.

ASF 미디어 싱크 개체 모델

ASF 미디어 싱크는 IMFMediaSink 인터페이스를 구현하고 다음 인터페이스를 노출합니다. 애플리케이션은 출력 샘플을 생성하는 데 사용하는 ASF 미디어 싱크에서 QueryInterface 를 호출하여 이러한 인터페이스에 대한 참조를 가져올 수 있습니다.

인터페이스 설명
IMFMediaSink 모든 미디어 싱크에 필요합니다.
IMFFinalizableMediaSink 생성된 미디어 콘텐츠를 파일에 쓰는 ASF 파일 싱크에 의해 구현됩니다. 이 인터페이스의 메서드를 사용하여 데이터를 플러시하고 최종 출력 파일의 ASF 헤더 개체를 업데이트할 수 있습니다.
IMFClockStateSink 프레젠테이션 시계에서 상태 변경 알림을 받습니다.
IMFASFContentInfo ASF ContentInfo 개체는 주로 ASF 헤더 개체 정보를 저장하는 WMContainer 수준 개체입니다. ASF 미디어 싱크를 만드는 데 사용됩니다.
IMFMetadata ASF 파일의 메타데이터를 설명하는 데 사용됩니다.
IMFMetadataProvider 전체 프레젠테이션 또는 프레젠테이션의 한 스트림에 대한 메타데이터 컬렉션을 검색합니다.

 

ASF 파일 싱크

ASF 파일 싱크는 애플리케이션이 ASF 미디어 데이터를 파일에 보관하는 데 사용할 수 있는 Media Foundation에서 제공하는 IMFMediaSink 의 구현입니다.

파이프라인 계층 개체를 사용하여 새 ASF 파일을 작성하는 경우 파일 싱크 또는 해당 스트림 싱크에서 메서드를 만들고 구성하고 호출해야 합니다. 파일 싱크를 구성한 후 인코딩 파이프라인에 추가할 수 있습니다.

ASF 파일 싱크를 사용하는 일반적인 단계는 다음과 같습니다.

  1. in-process 또는 out-of-process 파일 싱크를 만듭니다.
  2. 모든 스트림, 인코딩 속성 및 메타데이터 정보를 사용하여 파일 싱크를 구성합니다.
  3. 스트림 싱크를 열거하거나 싱크에서 와 스트림 번호를 추적하여 파일 싱크를 출력 토폴로지 노드와 연결합니다.

다음 topics ASF 파일 싱크 작업에 대한 자세한 정보를 포함합니다.

파이프라인 계층 ASF 구성 요소

Media Foundation의 ASF 지원