Método COutputQueue.NewSegment

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O NewSegment método entrega um novo segmento ao pino de entrada.

Sintaxe

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

Parâmetros

Tstart

Posição de mídia inicial do segmento, em unidades de 100 nanossegundos.

tStop

Posição de mídia final do segmento, em unidades de 100 nanossegundos.

dRate

Taxa na qual esse segmento deve ser processado, como uma porcentagem da taxa original.

Retornar valor

Retorna um valor HRESULT .

Comentários

Se o objeto estiver usando um thread, ele enfileira os seguintes itens, na ordem:

  • Uma mensagem de controle NEW_SEGMENT.
  • Os dados do segmento.

A mensagem NEW_SEGMENT notifica o thread de que o próximo item na fila conterá dados de segmento. Os dados do segmento são agrupados em uma estrutura, declarada da seguinte maneira:

struct NewSegmentPacket {
    REFERENCE_TIME tStart;
    REFERENCE_TIME tStop;
    double dRate;
}; 

O thread chama o método IPin::NewSegment no pino de entrada, usando os dados fornecidos na estrutura .

Se o objeto não estiver usando um thread, ele chamará o método COutputQueue::SendAnyway para fornecer amostras pendentes. Em seguida, ele chama IPin::NewSegment no pino de entrada.

Requisitos

Requisito Valor
parâmetro
Outputq.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Classe COutputQueue