*参照元 [#j397dbff] #backlinks *説明 [#i05f1a75] -パス: [[gstomx-0.10.1/omx/gstomx_util.c]] -FIXME: これは何? --説明 **引数 [#adac9bbb] -const gchar * name -- --[[gstomx-0.10.1/gchar]] **返り値 [#e239b8a0] -GOmxImp * -- --[[gstomx-0.10.1/GOmxImp]] **参考 [#sf0b83e2] *実装 [#uc5a7e61] static inline GOmxImp * request_imp (const gchar * name) { GOmxImp *imp = NULL; g_mutex_lock (imp_mutex); imp = g_hash_table_lookup (implementations, name); if (!imp) { imp = imp_new (name); if (imp) g_hash_table_insert (implementations, g_strdup (name), imp); } g_mutex_unlock (imp_mutex); - --[[gstomx-0.10.1/g_mutex_lock()]] - --[[gstomx-0.10.1/g_hach_table_lookup()]] - --[[gstomx-0.10.1/imp_new()]] - --[[gstomx-0.10.1/g_hash_table_insert()]] - --[[gstomx-0.10.1/g_mutex_unlock()]] if (!imp) return NULL; g_mutex_lock (imp->mutex); if (imp->client_count == 0) { OMX_ERRORTYPE omx_error; omx_error = imp->sym_table.init (); if (omx_error) { g_mutex_unlock (imp->mutex); return NULL; } } imp->client_count++; g_mutex_unlock (imp->mutex); return imp; } *コメント [#fb1957e1]