Uso di fonti multimediali con la sessione multimediale
Se usi la sessione multimediale per controllare la riproduzione, il set di metodi che dovresti chiamare su un'origine multimediale è limitato. Questa sezione descrive come usare l'origine multimediale in combinazione con la sessione multimediale.
Ecco i passaggi di base che verranno eseguiti dall'applicazione:
Creare l'origine multimediale. Per creare un'origine multimediale, usare il risolutore di origine. Per altre informazioni, vedere risolutore di origine. Il resolver di origine restituisce un puntatore all'interfaccia dell'origine IMFMediaSource. Se è stata scritta un'origine multimediale personalizzata, è possibile invece fornire un metodo di creazione personalizzato.
Configurare la presentazione. Per configurare la presentazione dell'origine, chiamare IMFMediaSource::CreatePresentationDescriptor. Puoi modificare questa copia, ma le modifiche non diventano attive fino all'avvio della riproduzione. Non modificare il descrittore di presentazione durante la riproduzione. Per altre informazioni, vedere descrittori di presentazione .
Creare una topologia contenente l'origine multimediale. Per altre informazioni, vedere topologie .
Usare la sessione multimediale per controllare la riproduzione. La sessione multimediale chiama i metodi dell'origine multimediale. L'applicazione non deve chiamare metodi nell'origine multimediale in questo momento.
Prima di rilasciare l'origine multimediale, chiamare IMFMediaSource::Shutdown per spegnere l'origine.
Nota
Se si utilizza l'origine sequencer, essa gestisce l'arresto delle origini dei segmenti. Per ulteriori informazioni, vedere Sequencer Source .
Se usi la sessione multimediale, gli unici metodi che dovresti chiamare sull'origine multimediale sono CreatePresentationDescriptor, GetCharacteristicse Shutdown. Soprattutto:
Non chiamare Start, Pausao Arresta; questi metodi devono essere chiamati solo dalla Sessione Multimediale.
Non chiamare i metodi IMFMediaStream.
Non recuperare gli eventi direttamente dall'origine multimediale o da uno dei flussi. La sessione multimediale deve ricevere questi eventi affinché la pipeline funzioni correttamente. La sessione multimediale inoltra tutti gli eventi necessari per l'applicazione.
Argomenti correlati