Compartilhar via


COutputQueue::NewSegment (Compact 2013)

3/26/2014

Queues an IPin::NewSegment call to the connected input pin after all queued samples have been passed to the input pin.

Syntax

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

Parameters

  • tStart
    [in] Start time of the segment.
  • tStop
    [in] Stop time of the segment.
  • dRate
    [in] Rate of the segment.

Return Value

Returns an HRESULT value.

Remarks

This member function calls the IPin::NewSegment method on the output pin after all previous data has been delivered.

Like COutputQueue::EOS, the COutputQueue::NewSegment call and its parameters are queued as a special control sample if the COutputQueue object is in queued mode, and the IPin::NewSegment method is called from the worker thread in COutputQueue::ThreadProc.

Special control samples, as implemented by this member function, are only relevant if you plan to change or extend the default base class implementation of COutputQueue in a derived class. Normal use of the COutputQueue class does not require the use of control samples.

This member function allows filters that process buffers containing more than one sample to delineate the rendering of the samples between start and stop time, as indicated by the tStart and tStop parameters.

COutputQueue::NewSegment is intended to be implemented on an input pin. A connected output pin on the upstream filter calls this member function after completing delivery of previous data and before calling IMemInputPin::Receive with any new data. It indicates that all data arriving after this call is part of a segment delineated by the parameters.

Requirements

Header

dshow.h,
Streams.h

Library

ole32.lib,
Ole32auth.lib,
Strmbase.lib,
Strmiids.lib,
uuid.lib

See Also

Reference

COutputQueue Class