다음을 통해 공유


IMFSourceReader::SetStreamSelection 메서드(mfreadwrite.h)

하나 이상의 스트림을 선택하거나 선택 취소합니다.

구문

HRESULT SetStreamSelection(
  [in] DWORD dwStreamIndex,
  [in] BOOL  fSelected
);

매개 변수

[in] dwStreamIndex

설정할 스트림입니다. 값은 다음 중 한 개일 수 있습니다.

의미
0~0xFFFFFFFB
스트림의 인덱스(0부터 시작)입니다.
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
첫 번째 비디오 스트림입니다.
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
첫 번째 오디오 스트림입니다.
MF_SOURCE_READER_ALL_STREAMS
0xFFFFFFFE
모든 스트림.

[in] fSelected

스트림을 선택하려면 TRUE 를 지정하고 , 스트림 을 선택 취소하려면 FALSE를 지정합니다. 스트림이 선택 취소된 경우 데이터를 생성하지 않습니다.

반환 값

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

이 메서드에는 두 가지 일반적인 용도가 있습니다.

  • 기본 스트림 선택을 변경하려면 일부 미디어 파일에는 동일한 형식의 여러 스트림이 포함되어 있습니다. 예를 들어 파일에는 여러 언어에 대한 오디오 스트림이 포함될 수 있습니다. 이 메서드를 사용하여 선택한 스트림을 변경할 수 있습니다. 각 스트림에 대한 정보를 얻으려면 IMFSourceReader::GetPresentationAttribute 또는 IMFSourceReader::GetNativeMediaType을 호출합니다.
  • 스트림 중 하나의 데이터가 필요하지 않은 경우 해당 스트림의 선택을 취소하는 것이 좋습니다. 스트림을 선택하면 미디어 원본이 읽지 않은 데이터의 큐를 유지할 수 있으며 큐가 무기한 증가하여 메모리가 소비될 수 있습니다.
스트림을 선택 취소하는 예제는 자습서: 오디오 디코딩을 참조하세요.

스트림이 선택 취소되면 IMFSourceReader::ReadSample 메서드는 해당 스트림에 대한 MF_E_INVALIDREQUEST 반환합니다. 다른 IMFSourceReader 메서드는 선택 취소된 스트림에 유효합니다.

Stream 선택은 원본 판독기가 메모리에서 디코더를 로드하거나 언로드하는 방법에 영향을 주지 않습니다. 특히 스트림을 선택 취소해도 원본 판독기가 해당 스트림에 대한 디코더를 강제로 언로드하지는 않습니다.

이 인터페이스는 Windows Vista용 플랫폼 업데이트 보충이 설치된 경우 Windows Vista에서 사용할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista용 Windows 7, Windows Vista 및 플랫폼 업데이트 보충 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 mfreadwrite.h

추가 정보

IMFSourceReader

원본 판독기