GStreamer 安裝測試

2021-08-04 20:32:12 字數 1305 閱讀 1593

#include #include //定義訊息處理函式,

static gboolean bus_call(gstbus *bus,gstmessage *msg,gpointer data)

default:

break;

}return true;

}int main(int argc,char *argv)

//建立管道和元件

pipeline = gst_pipeline_new("audio-player");

source = gst_element_factory_make("filesrc","file-source");

decoder = gst_element_factory_make("mad","mad-decoder");

sink = gst_element_factory_make("autoaudiosink","audio-output");

if(!pipeline||!source||!decoder||!sink)

//設定 source的location 引數。即 檔案位址.

g_object_set(g_object(source),"location",argv[1],null);

//得到 管道的訊息匯流排

bus = gst_pipeline_get_bus(gst_pipeline(pipeline));

//新增訊息監視器

gst_bus_add_watch(bus,bus_call,loop);

gst_object_unref(bus);

//把元件新增到管道中.管道是乙個特殊的元件,可以更好的讓資料流動

gst_bin_add_many(gst_bin(pipeline),source,decoder,sink,null);

//依次連線元件

gst_element_link_many(source,decoder,sink,null);

gst_element_set_state(pipeline,gst_state_playing);

g_print("running\n");

//開始迴圈

g_main_loop_run(loop);

g_print("returned,stopping playback\n");

gst_element_set_state(pipeline,gst_state_null);

gst_object_unref(gst_object(pipeline));

return 0;

}

GStreamer 編譯安裝 2021 1 11

本文適合開發者採用gstreamer開發gstreamer應用。只針對linux。對於windows,可以參考 building using cerbero.一 設定gst build git clone cd gst build 或者,如果您具有開發人員訪問儲存庫的許可權,請執行以下操作 git ...

centos安裝gstreamer報錯解決方案

最近在倒騰語音識別的乙個方案 在ubuntu下可以安裝readme.md的步驟順利安裝成功,在centos下,則需要自行修改dockfile的指令,講講其中遇到的兩個問題 1 安裝openfst一直失敗,這個問題主要是經驗不足造成的,由於之前失敗過,後邊儘管按照提示一步一步解決依然make失敗,主要...

Gstreamer 排程模式

翻譯自part scheduling.txt 排程在gstreamer中,排程模式是基於pad是主動積極地推送 產生 資料還是從其他的pad拉資料。推模式 push 乙個pad能夠產生資料,並且推送給下乙個pad,按這種模式工作的pad有乙個loop函式,loop函式被重複呼叫直到返回false。l...