Condividi tramite


Metodo IAMTimelineGroup::SetSmartRecompressFormat

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Nota

[Deprecata. Questa API può essere rimossa dalle versioni future di Windows.]

 

Il SetSmartRecompressFormat metodo specifica un formato di compressione video da usare per la ricompressione intelligente.

La ricompressione intelligente non è supportata per i gruppi audio.

Sintassi

HRESULT SetSmartRecompressFormat(
   long *pFormat
);

Parametri

pFormat

Puntatore a una struttura che descrive il formato di compressione. Attualmente, solo la struttura SCompFmt0 è valida. È necessario eseguire il cast di questo parametro in un puntatore di tipo lungo.

Valore restituito

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Prima di chiamare questo metodo, chiamare il metodo IAMTimelineGroup::SetMediaType nello stesso gruppo, per specificare un formato non compresso.

Se il metodo ha esito positivo, è possibile usare il SetSmartRecompressFormat motore di rendering intelligente per restituire un flusso video compresso. Il video compresso avrà la larghezza, l'altezza e la frequenza dei fotogrammi specificata nel parametro pFormat . Questi valori eseguiranno l'override di quelli specificati per il formato non compresso nel metodo SetMediaType . Tuttavia, per ottenere i vantaggi della ricompressione intelligente, i due formati devono corrispondere. In altre parole, i formati compressi e non compressi devono avere la stessa altezza, larghezza e frequenza dei fotogrammi.

Se il motore di rendering intelligente non è in grado di produrre il formato compresso, produrrà invece un flusso video non compresso. In tal caso, il motore di rendering intelligente segnala un errore di rendering DEX_IDS_CANT_FIND_COMPRESSOR durante il metodo IRenderEngine::ConnectFrontEnd . L'applicazione può rilevare questo errore tramite il metodo IAMErrorLog::LogError . Per altre informazioni, vedere Registrazione di errori e errori di rendering.

Il formato di ricompressione intelligente non è persistente. Se un'applicazione usa la ricompressione intelligente, deve impostare il formato di ricompressione ogni volta che carica un file di progetto.

Nota

Il file di intestazione Qedit.h non è compatibile con intestazioni Direct3D successive alla versione 7.

 

Nota

Per ottenere Qedit.h, scaricare l'aggiornamento Microsoft Windows SDK per Windows Vista e .NET Framework 3.0. Qedit.h non è disponibile nella Microsoft Windows SDK per Windows 7 e .NET Framework 3.5 Service Pack 1.

 

Requisiti

Requisito Valore
Intestazione
Qedit.h
Libreria
Strmiids.lib

Vedi anche

Interfaccia IAMTimelineGroup

Codici errore e esito positivo

Motore di rendering intelligente

Scrittura di un progetto in un file