Mercurial > mplayer.hg
view mplayer.h @ 9177:01a713dcaf23
disable free() in string and string_list parsers. yes, it's a hack
(and a little memleak), but i can explain :)
[note it's just a few kB memleak, but it's the price of stability without
full code review/audit - there are hunderds of possible double free()]
the old config parser didn't free() strings/stringlists, but didn't even
allocate them by default. the new one always free(), and it causes
memcorruption/sig11 at cases like this:
char* dvd_device="/dev/dvd";
{"dvd-device", &dvd_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
since string constansts (allocated in .TEXT segment) cannot be free()'d
author | arpi |
---|---|
date | Thu, 30 Jan 2003 21:28:01 +0000 |
parents | 3086611e8213 |
children | 27fff718ede6 |
line wrap: on
line source
#ifndef __MPLAYER_MAIN #define __MPLAYER_MAIN #include "libvo/sub.h" #include "subreader.h" extern int use_gui; extern char* current_module; extern int vcd_track; extern char * dvd_device; extern char * cdrom_device; extern char ** audio_fm_list; extern char ** video_fm_list; extern char ** video_driver_list; extern char ** audio_driver_list; extern char * video_driver; extern char * audio_driver; extern float audio_delay; extern int osd_level; extern int osd_visible; extern char * font_name; extern float font_factor; extern float movie_aspect; extern float force_fps; extern char * sub_name; extern float sub_delay; extern float sub_fps; extern int sub_auto; extern int sub_pos; extern int sub_unicode; extern char * sub_cp; extern subtitle* subtitles; extern subtitle* vo_sub; extern int suboverlap_enabled; extern char * filename; extern int stream_cache_size; extern int force_ni; extern int index_mode; extern int autosync; // libmpcodecs: extern int fullscreen; extern int flip; extern int frame_dropping; extern int auto_quality; extern int audio_id; extern int video_id; extern int dvdsub_id; extern int vobsub_id; extern void exit_player(char* how); #endif