view mplayer.h @ 18708:9e2b300db17b

Change free_sh_audio() to take demuxer and stream id as parameters (same as new_sh_audio()) instead of sh_audio_t *, use those to remove the pointer from demuxer->a_streams[] before freeing it. Some demuxers use free_sh_audio() to undo the creation of an already-allocated audio stream in case of error. These uses were unsafe since free_sh_audio() freed the data structure but left the pointer in demuxer->a_streams[], leading to double free later in free_demuxer() (and perhaps use of the freed stream before that, I didn't check).
author uau
date Wed, 14 Jun 2006 14:05:59 +0000
parents 292337d09af2
children 2ec2301183cd
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 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 unsigned 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 sub_data* subdata; //currently used 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);
extern void update_set_of_subtitles(void);

#endif