MFCreateTranscodeTopology 함수(mfidl.h)

부분 트랜스코드 토폴로지를 만듭니다.

기본 토폴로지 작성기에서는 필요한 파이프라인 개체(원본, 인코더 및 싱크)를 연결하여 부분 토폴로지를 만듭니다. 인코더와 싱크는 코드 변환 프로필의 호출자가 지정한 설정에 따라 구성됩니다.

트랜스코드 프로필 개체를 만들려면 MFCreateTranscodeProfile 함수를 호출하고 적절한 IMFTranscodeProfile 메서드를 호출하여 필요한 특성을 설정합니다.

구성된 트랜스코드 프로필은 적절한 설정으로 트랜스코드 토폴로지를 만드는 MFCreateTranscodeTopology 함수에 전달됩니다. 그런 다음 호출자는 미디어 세션에서 이 토폴로지를 설정하고 세션을 시작하여 인코딩 프로세스를 시작할 수 있습니다. 미디어 세션이 종료되면 코드 변환된 파일이 생성됩니다.

구문

HRESULT MFCreateTranscodeTopology(
  [in]  IMFMediaSource      *pSrc,
  [in]  LPCWSTR             pwszOutputFilePath,
  [in]  IMFTranscodeProfile *pProfile,
  [out] IMFTopology         **ppTranscodeTopo
);

매개 변수

[in] pSrc

코드 변환할 원본 파일을 캡슐화하는 미디어 원본에 대한 포인터입니다. 미디어 원본 개체는 IMFMediaSource 인터페이스를 노출하며 원본 확인자를 사용하여 만들 수 있습니다. 자세한 내용은 원본 확인자 사용을 참조하세요.

[in] pwszOutputFilePath

생성할 출력 파일의 이름과 경로를 포함하는 null로 끝나는 문자열에 대한 포인터입니다.

[in] pProfile

오디오 스트림, 비디오 스트림 및 파일이 기록되는 컨테이너에 대한 구성 설정을 포함하는 트랜스코드 프로필에 대한 포인터입니다. 트랜스코드 프로필 개체는 IMFTranscodeProfile 인터페이스를 노출하며 MFCreateTranscodeProfile 함수를 호출하여 만들어야 합니다. 개체를 만든 후 호출자는 적절한 IMFTranscodeProfile 메서드를 호출하여 구성 설정을 제공해야 합니다.

[out] ppTranscodeTopo

트랜스코드 토폴로지 개체의 IMFTopology 인터페이스에 대한 포인터를 받습니다. 호출자는 인터페이스를 해제해야 합니다.

반환 값

함수는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 Description
S_OK
함수 호출이 성공했고 ppTranscodeTopo 는 트랜스코드 토폴로지에 대한 포인터를 받습니다.
E_INVALIDARG
pwszOutputFilePath 에 잘못된 문자가 포함되어 있습니다.
MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED
미디어 원본에서 스트림이 선택되지 않습니다.
MF_E_TRANSCODE_NO_CONTAINERTYPE
프로필에 MF_TRANSCODE_CONTAINERTYPE 특성이 포함되어 있지 않습니다.
MF_E_TRANSCODE_NO_MATCHING_ENCODER
하나 이상의 스트림의 경우 프로필에 지정된 미디어 형식을 허용하는 인코더를 찾을 수 없습니다.
MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS
프로필은 미디어 원본에서 선택한 스트림에 대한 미디어 형식을 지정하지 않습니다.

설명

이 함수를 사용하는 예제 코드는 다음 topics 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 mfidl.h
라이브러리 Mf.lib
DLL Mf.dll

추가 정보

IMFTopology

미디어 파운데이션 함수

토폴로지

API 코드 변환