Condividi tramite


Riavvio dell'elaborazione in AVStream

AVStream interrompe l'elaborazione se una delle condizioni seguenti è vera:

  • In un ambiente incentrato sui pin non sono attualmente disponibili dati sul pin.

  • In un ambiente incentrato sui filtri, almeno un pin per il quale il membro Flags della struttura KSPIN_DESCRIPTOR_EX non imposta KSPIN_FLAG_FRAMES_NOT_REQUIRED_FOR_PROCESSING, non dispone di dati in attesa di elaborazione. Per impostazione predefinita, questo flag non è impostato.

  • La routine di callback dispatch di elaborazione del minidriver restituisce STATUS_PENDING, indipendentemente dalla disponibilità dei fotogrammi. Si noti che l'invio di elaborazione può essere AVStrMiniFilterProcess o AVStrMiniPinProcess, a seconda che il minidriver implementi l'elaborazione basata sui pin o l'elaborazione basata sui filtri.

AVStream avvia l'elaborazione quando arrivano nuovi dati in una coda precedentemente vuota. Pertanto, se l'invio di elaborazione del minidriver restituisce STATUS_PENDING quando le code associate sono piene, il minidriver non verrà mai chiamato per riprendere l'elaborazione. Se il minidriver imposta STATUS_PENDING, il minidriver deve chiamare KsPinAttemptProcessing o KsFilterAttemptProcessing per riprendere l'elaborazione.

Non restituire STATUS_SUCCESS dall'invio di elaborazione se il minidriver non elabora effettivamente i dati. In questo modo AVStream chiama di nuovo il minidriver, generando un ciclo infinito tra AVStream e l'invio di elaborazione.