int main() { mie_init(); printf("malloc=%p, free=%p\n", malloc, free); puts("main"); test_realloc(); char *p = malloc(7); #ifdef USE_DLOPEN puts("dlopen"); void *h = dlopen(soName, RTLD_LAZY); if (h == NULL) { perror("dlopen"); return 1; } puts("dlsym"); void (*f)() = dlsym(h, "sub_free"); if (f == NULL) { perror("dlsym"); return 1; } puts("call"); f(p); puts("dlclose"); dlclose(h); #else sub_free(p); #endif { char *q = malloc(3); printf("malloc size=%zd\n", malloc_usable_size(q)); q[3] = 'a'; free(q); } return 0; }
void guiLoadSubtitle(char *name) { if (guiInfo.Playing == 0) { guiInfo.SubtitleChanged = 1; // what is this for? (mw) return; } if (subdata) { mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_DeletingSubtitles); sub_free(subdata); subdata = NULL; vo_sub = NULL; if (vo_osd_list) { int len; mp_osd_obj_t *osd; osd = vo_osd_list; while (osd) { if (osd->type == OSDTYPE_SUBTITLE) break; osd = osd->next; } if (osd && (osd->flags & OSDFLAG_VISIBLE)) { len = osd->stride * (osd->bbox.y2 - osd->bbox.y1); memset(osd->bitmap_buffer, 0, len); memset(osd->alpha_buffer, 0, len); } } } if (name) { mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_LoadingSubtitles, name); subdata = sub_read_file(name, guiInfo.FPS); if (!subdata) gmp_msg(MSGT_GPLAYER, MSGL_ERR, MSGTR_CantLoadSub, name); sub_name = (malloc(2 * sizeof(char *))); // when mplayer will be restarted sub_name[0] = strdup(name); // sub_name[0] will be read sub_name[1] = NULL; } update_set_of_subtitles(); }
void mplayerLoadSubtitle(const char *name) { if (guiInfo.Playing == GUI_STOP) return; if (subdata) { mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_GUI_MSG_RemovingSubtitle); sub_free(subdata); subdata = NULL; vo_sub = NULL; if (vo_osd_list) { int len; mp_osd_obj_t *osd; osd = vo_osd_list; while (osd) { if (osd->type == OSDTYPE_SUBTITLE) break; osd = osd->next; } if (osd && (osd->flags & OSDFLAG_VISIBLE)) { len = osd->stride * (osd->bbox.y2 - osd->bbox.y1); memset(osd->bitmap_buffer, 0, len); memset(osd->alpha_buffer, 0, len); } } } if (name) { mp_msg(MSGT_GPLAYER, MSGL_INFO, MSGTR_GUI_MSG_LoadingSubtitle, name); subdata = sub_read_file(name, guiInfo.sh_video ? guiInfo.sh_video->fps : 0); if (!subdata) gmp_msg(MSGT_GPLAYER, MSGL_ERR, MSGTR_CantLoadSub, name); sub_name = (malloc(2 * sizeof(char *))); // when mplayer will be restarted sub_name[0] = strdup(name); // sub_name[0] will be read sub_name[1] = NULL; } update_set_of_subtitles(); }
void Tsubtitles::done(void) { if (subs) sub_free(subs);subs=NULL; }
void SubFree( sub_data * subd ) { sub_free(subd); }