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