*参照元 [#f81d84d8] #backlinks *説明 [#ha711b93] -パス: [[gstomx-0.10.1/omx/gstomx_util.c]] -FIXME: これは何? --指定された名前の OpenMAX ライブラリをロードする。 **引数 [#e959b740] -const gchar * name --OpenMAX ライブラリの名前。 --[[gstomx-0.10.1/gchar]] **返り値 [#m2d9b468] -GOmxImp * --OpenMAX ライブラリの情報を返すための、変数へのポインタ。 --OpenMAX ライブラリの情報。 --[[gstomx-0.10.1/GOmxImp]] **参考 [#n9056a6d] *実装 [#zdcd8d01] static GOmxImp * imp_new (const gchar * name) { GOmxImp *imp; imp = g_new0 (GOmxImp, 1); -メモリ確保する。 --[[gstomx-0.10.1/g_new0()]] /* Load the OpenMAX IL symbols */ { void *handle; GST_DEBUG ("loading: %s", name); -コンポーネント名をデバッグ表示する。 --[[gstomx-0.10.1/GST_DEBUG()]] imp->dl_handle = handle = dlopen (name, RTLD_LAZY); GST_DEBUG ("dlopen(%s) -> %p", name, handle); if (!handle) { g_warning ("%s\n", dlerror ()); g_free (imp); return NULL; } -指定されたライブラリをロードする。 --[[gstomx-0.10.1/g_warning()]] --[[gstomx-0.10.1/g_free()]] imp->mutex = g_mutex_new (); imp->sym_table.init = dlsym (handle, "OMX_Init"); imp->sym_table.deinit = dlsym (handle, "OMX_Deinit"); imp->sym_table.get_handle = dlsym (handle, "OMX_GetHandle"); imp->sym_table.free_handle = dlsym (handle, "OMX_FreeHandle"); } -OMX_Init(), OMX_Deinit(), OMX_GetHandle(), OMX_FreeHandle() 関数をロードする。 --[[gstomx-0.10.1/g_mutex_new()]] --[[gstomx-0.10.1/OMX_Init()]] --[[gstomx-0.10.1/OMX_Deinit()]] --[[gstomx-0.10.1/OMX_GetHandle()]] --[[gstomx-0.10.1/OMX_FreeHandle()]] return imp; } *コメント [#n91d755e]