Mercurial > mplayer.hg
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