DirectShow DirectShow 레퍼런스 인터페이스 IPin NewSegment   [목차열람] [주소복사] [슬롯비우기]
IPin::NewSegment
 
Microsoft DirectX 9.0

IPin::NewSegment

NewSegment 메서드는, 이 호출의 뒤에 받은 미디어 샘플이, 공통의 시작 타임, 종료 타임, 레이트를 가지는 세그먼트(segment) 그룹인 것을 핀에 통지한다.

애플리케이션으로부터 이 메서드를 호출하지 않는 것. 이 메서드는, 다른 필터로부터 호출된다.

구문

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

파라미터

tStart

세그먼트(segment)의 시작 타임 (100 나노초단위). 원의 소스를 기준으로 한다.

tStop

세그먼트(segment)의 종료 타임 (100 나노초단위). 원의 소스를 기준으로 한다.

dRate

세그먼트(segment)가 처리되는 레이트, 오리지날 레이트의 퍼센티지.

반환값

성공했을 경우는 S_OK 를 돌려준다. 그 이외의 경우는, 에러의 발생을 나타내는 HRESULT 값을 돌려준다.

주의

새로운 스트림을 시작 할 때와 시크 조작이 끝날 때마다, 소스 필터 (혹은 파서 필터)는 이 메서드를 호출한다. 이전의 데이터 배치를 출력한 후, 새로운 데이터로 IMemInputPin::Receive 를 호출하기 전에, 그 소스 필터는 다운 스트림 필터의 입력 핀의 메서드를 호출한다. 다운 스트림 필터는 NewSegment 호출을 다운 스트림에 전달한다.

필터는 세그먼트(segment) 정보를 사용해 샘플을 처리한다. 예를 들어, 몇개의 포맷에서는, 다음의 프레임없이는 델타 프레임을 재구축 할 수 없다. 따라서, 종료 타임이 델타 프레임에 있으면 소스 필터는 추가 프레임을 보내지 않으면 안 된다. 디코더 필터는 세그먼트(segment) 정보를 기본으로 최종 프레임을 결정한다. 세그먼트(segment) 레이트는, 오디오 데이터등이 연속적인 데이터 소스를 렌더링 할 경우에 사용한다. 예를 들어, 오디오 렌더러는 샘플링 레이트와 세그먼트(segment) 레이트를 사용해, 오디오 데이터를 올바르게 렌더링 한다.

참조

↑TOP