typedef struct aul_rsm_handler_s aul_rsm_handler;
int aul_rsm_viewer_set_surface_handler(const char *id, aul_rsm_handler *cbs, void *data);
+int aul_rsm_viewer_unset_surface_handler(const char *id);
int aul_rsm_viewer_set_surface_handler_by_rid(int resource_id, aul_rsm_handler *cbs, void *data);
int aul_rsm_viewer_get_surface_rid(const char *id, int *resource_id);
int aul_rsm_viewer_get_surface_pid(const char *id, int *pid);
return 0;
}
+API int aul_rsm_viewer_unset_surface_handler(const char *id)
+{
+ struct __surface_s *surface;
+
+ if (!id) {
+ _E("invalid parameter");
+ return -1;
+ }
+
+ if (!__viewer_tbl) {
+ _E("surface table empty");
+ return -1;
+ }
+
+ surface = g_hash_table_lookup(__viewer_tbl, id);
+ if (!surface) {
+ _E("surface not exists");
+ return -1;
+ }
+ g_hash_table_remove(__viewer_tbl, id);
+ free(surface);
+
+ return 0;
+}
+
API int aul_rsm_viewer_set_surface_handler(const char *id, aul_rsm_handler *cbs, void *data)
{
struct __surface_s *surface;