다음을 통해 공유


IPin::NewSegment 메서드(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

메서드는 NewSegment 이 호출 후 받은 미디어 샘플이 일반적인 시작 시간, 중지 시간 및 속도와 함께 세그먼트로 그룹화된다는 것을 핀에 알 수 있습니다.

애플리케이션에서 이 메서드를 호출하면 안 됩니다. 이 메서드는 다른 필터에 의해 호출됩니다.

구문

HRESULT NewSegment(
  REFERENCE_TIME tStart,
  REFERENCE_TIME tStop,
  double         dRate
);

매개 변수

tStart

원래 원본을 기준으로 하는 세그먼트의 시작 시간(100나노초 단위)입니다.

tStop

원래 원본을 기준으로 하는 세그먼트의 종료 시간(100나노초 단위)입니다.

dRate

원래 속도의 백분율로 이 세그먼트를 처리해야 하는 속도입니다.

반환 값

성공하면 S_OK 반환하거나 오류의 원인을 나타내는 HRESULT 값을 반환합니다.

설명

원본 필터(또는 파서 필터)는 각 새 스트림의 시작 부분과 각 검색 작업 후에 이 메서드를 호출합니다. 이전 데이터 일괄 처리를 전달한 후 새 데이터로 IMemInputPin::Receive 를 호출하기 전에 다운스트림 필터의 입력 핀에서 메서드를 호출합니다. 다운스트림 필터는 호출 다운스트림을 NewSegment 전파합니다.

필터는 세그먼트 정보를 사용하여 샘플을 처리할 수 있습니다. 예를 들어 일부 형식을 사용하면 다음 키 프레임 없이 델타 프레임을 다시 구성할 수 없습니다. 따라서 델타 프레임에서 중지 시간이 발생하는 경우 원본 필터는 몇 가지 추가 프레임을 보내야 합니다. 디코더 필터는 세그먼트 정보를 기반으로 최종 프레임을 결정합니다. 세그먼트 속도는 오디오 데이터와 같은 연속 데이터 원본을 렌더링하는 데 사용됩니다. 예를 들어 오디오 렌더러는 샘플링 속도와 세그먼트 속도를 사용하여 오디오 데이터를 올바르게 렌더링합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 strmif.h(Dshow.h 포함)
라이브러리 Strmiids.lib

추가 정보

필터 그래프의 Data Flow

오류 및 성공 코드

IPin 인터페이스