Lines Matching refs:srv
62 MppRcApiSrv *srv = rc_api_srv; in rc_api_srv_init() local
66 if (srv) in rc_api_srv_init()
69 srv = mpp_malloc(MppRcApiSrv, 1); in rc_api_srv_init()
70 if (!srv) { in rc_api_srv_init()
75 rc_api_srv = srv; in rc_api_srv_init()
77 mpp_mutex_init(&srv->lock); in rc_api_srv_init()
78 INIT_LIST_HEAD(&srv->list); in rc_api_srv_init()
79 srv->api_cnt = 0; in rc_api_srv_init()
92 MppRcApiSrv *srv = rc_api_srv; in rc_api_srv_deinit() local
94 if (!srv) in rc_api_srv_deinit()
97 mpp_mutex_lock(&srv->lock); in rc_api_srv_deinit()
99 if (srv->api_cnt) { in rc_api_srv_deinit()
102 list_for_each_entry_safe(pos, n, &srv->list, RcImplApiNode, list) { in rc_api_srv_deinit()
108 srv->api_cnt--; in rc_api_srv_deinit()
111 mpp_assert(srv->api_cnt == 0); in rc_api_srv_deinit()
114 mpp_mutex_unlock(&srv->lock); in rc_api_srv_deinit()
115 mpp_mutex_destroy(&srv->lock); in rc_api_srv_deinit()
116 MPP_FREE(srv); in rc_api_srv_deinit()
120 static RcImplApi *_rc_api_get(MppRcApiSrv *srv, MppCodingType type, const char *name) in _rc_api_get() argument
122 if (!srv->api_cnt) in _rc_api_get()
128 list_for_each_entry_safe(pos, n, &srv->list, RcImplApiNode, list) { in _rc_api_get()
157 MppRcApiSrv *srv = get_srv_rc_api_srv(__FUNCTION__); in rc_api_add() local
166 if (!srv) in rc_api_add()
169 mpp_mutex_lock(&srv->lock); in rc_api_add()
172 node_api = _rc_api_get(srv, api->type, api->name); in rc_api_add()
178 mpp_mutex_unlock(&srv->lock); in rc_api_add()
183 list_add_tail(&node->list, &srv->list); in rc_api_add()
185 srv->api_cnt++; in rc_api_add()
193 mpp_mutex_unlock(&srv->lock); in rc_api_add()
200 MppRcApiSrv *srv = get_srv_rc_api_srv(__FUNCTION__); in rc_api_get() local
202 if (!srv) in rc_api_get()
205 return _rc_api_get(srv, type, name); in rc_api_get()
208 MPP_RET rc_api_get_all(MppRcApiSrv *srv, RcApiBrief *brief, RK_S32 *count, RK_S32 max_count) in rc_api_get_all() argument
213 mpp_mutex_lock(&srv->lock); in rc_api_get_all()
215 list_for_each_entry_safe(pos, n, &srv->list, RcImplApiNode, list) { in rc_api_get_all()
223 mpp_mutex_unlock(&srv->lock); in rc_api_get_all()
228 MPP_RET rc_api_get_by_type(MppRcApiSrv *srv, RcApiBrief *brief, RK_S32 *count, in rc_api_get_by_type() argument
234 mpp_mutex_lock(&srv->lock); in rc_api_get_by_type()
236 list_for_each_entry_safe(pos, n, &srv->list, RcImplApiNode, list) { in rc_api_get_by_type()
247 mpp_mutex_unlock(&srv->lock); in rc_api_get_by_type()
254 MppRcApiSrv *srv = rc_api_srv; in rc_brief_get_all() local
259 if (!srv) in rc_brief_get_all()
276 return rc_api_get_all(srv, brief, count, max_count); in rc_brief_get_all()
281 MppRcApiSrv *srv = rc_api_srv; in rc_brief_get_by_type() local
287 if (!srv) in rc_brief_get_by_type()
306 return rc_api_get_by_type(srv, brief, count, max_count, type); in rc_brief_get_by_type()