Gestione dei file video con le funzioni esterne delle API di GStreamer

Da Gambas-it.org - Wikipedia.

Uso dell'Elemento di GStreamer per la gestione video

Per gestire dati video, caricati ad esempio da un file video, mediante le funzioni delle API di GStreamer, bisognerà stabilire un concatenamento di almeno due Elementi di GStreamer: uno per la gestione del sonoro, l'altro per la gestione del video, che andranno appositamente creati.

Facciamo dunque riferimento alle pagine della WIKI, nelle quali è stata descritta la gestione del sonoro in GStreamer.


Creazione dell'Elemento video mediante apposita funzione esterna

In particolare, dopo la funzione esterna gst_element_factory_make("playbin", "elem") per la creazione dell'Elemento per la gestgione del sonoro, utilizzeremo ancora quella funzione:

GstElement * gst_element_factory_make(const gchar *factoryname, const gchar *name)

alla quale si passerà il nome di un Elemento fra quelli predisposti da GStreamer ed una denominazione per l'Elemento appena creato. È possibile passare NULL come argomento name per ottenere un unico nome predefinito. Pertanto in Gambas questa funzione esterna sarà così dichiarata:

Private Extern gst_element_factory_make(factoryname As String, name As String) As Pointer

e la richiameremo in routine ad esempio così:

Private imagesink As Pointer

Public Sub .....()

imagesink = gst_element_factory_make("xvimagesink", "video")

In questo modo il video sarà mostrato in un'apposita finestra, generata da GStreamer, distinta dal Form o da altra finestra adirettamente appartenente al programma Gambas principale.