gstreamer 學習筆記1

創建一個GstElement對象

要想在應用程序中創建GstElement對象,唯一的辦法是藉助於工廠對象GstElementFactory。由於GStreamer框架提供了多種類型的GstElement對象,因此對應地提供了多種類型的GstElementFactory對象,它們是通過特定的工廠名稱來進行區分的。

1.gst_element_factory_find()函數獲得了一個名爲mad的工廠對象,"mad"是用於mp3的工廠對象,它之後可以用來創建與之對應的MP3解碼器元件:

     

GstElementFactory *factory;

factory = gst_element_factory_find("mad");

 

  2.成功獲得工廠對象之後,接下來就可以通過gst_element_factory_create()函數來創建特定的GstElement對象了,該函數在調用時有兩個參數,分別是需要用到的工廠對象,以及即將創建的元件名稱。元件名稱可以用查詢的辦法獲得,也可以通過傳入空指針(NULL)來生成工廠對象的默認元件。下面的代碼示範瞭如何利用已經獲得的工廠對象,來創建名爲decoderMP3解碼器元件:

 

GstElement *element;

element = gst_element_factory_create(factory, "decoder");

 

上面這兩步可以用gst_element_factory_make

 ("factoryname","element name");來一步實現;

當創建的GstElement不再使用的時候,還必須調用gst_element_unref()函數釋放其佔用的內存資源:

 

使用元件作爲GObject 對象

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章