Metodo IMFRateControl::SetRate (mfidl.h)

Imposta la frequenza di riproduzione.

Sintassi

HRESULT SetRate(
  [in] BOOL  fThin,
  [in] float flRate
);

Parametri

[in] fThin

Se TRUE, i flussi multimediali vengono sottili. In caso contrario, il flusso non è sottile. Per le origini multimediali e i demultiplexer, l'oggetto deve assottigliare i flussi quando questo parametro è TRUE. Per le trasformazioni downstream, ad esempio decodificatori e multiplexer, questo parametro è informativo; notifica all'oggetto che i flussi di input sono sottili. Per informazioni, vedere Informazioni sul controllo frequenza.

[in] flRate

Frequenza di riproduzione richiesta. I valori positivi indicano la riproduzione in avanti, i valori negativi indicano la riproduzione inversa e zero indica lo scrubbing (l'origine fornisce un singolo fotogramma).

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
MF_E_REVERSE_UNSUPPORTED
L'oggetto non supporta la riproduzione inversa.
MF_E_THINNING_UNSUPPORTED
L'oggetto non supporta l'thinning.
MF_E_UNSUPPORTED_RATE
L'oggetto non supporta la frequenza di riproduzione richiesta.
MF_E_UNSUPPORTED_RATE_TRANSITION
L'oggetto non può passare alla nuova frequenza durante lo stato di esecuzione.

Commenti

La sessione multimediale impedisce alcune transizioni tra limiti di frequenza, a seconda dello stato di riproduzione corrente:

Stato riproduzione Avanti/Inverso Avanti/Zero Inverso/Zero
In esecuzione No No No
Paused No No
Arrestato
 

Se la transizione non è supportata, il metodo restituisce MF_E_UNSUPPORTED_RATE_TRANSITION.

Quando un'origine multimediale completa una chiamata a SetRate, invia l'evento MESourceRateChanged . Altri componenti della pipeline non inviano questo evento.

Se un'origine multimediale passa da una riproduzione sottile a una riproduzione non sottile, i flussi inviano un evento MEStreamThinMode per indicare la transizione. Gli eventi dell'origine multimediale non vengono sincronizzati con gli eventi dei flussi multimediali. Dopo aver ricevuto l'evento MESourceRateChanged , è comunque possibile ricevere campioni accodati prima che il flusso passasse alla modalità thinned o non thinned. L'evento MEStreamThinMode contrassegna il punto esatto nel flusso in cui si verifica la transizione.

Quando la sessione multimediale completa una chiamata a SetRate, invia l'evento MESessionRateChanged .

Requisiti

   
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfidl.h
Libreria Mfuuid.lib

Vedi anche

Come impostare la frequenza di riproduzione nella sessione multimediale

IMFRateControl