Mercurial > mplayer.hg
view edl.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 | f580a7755ac5 |
children | 8338eda7af28 |
line wrap: on
line source
// EDL version 0.6 #ifndef EDLH #define EDLH #define EDL_SKIP 0 #define EDL_MUTE 1 #define EDL_MUTE_START 1 #define EDL_MUTE_END 0 struct edl_record { float start_sec; float stop_sec; float length_sec; short action; struct edl_record* next; struct edl_record* prev; }; typedef struct edl_record* edl_record_ptr; extern char *edl_filename; // file to extract EDL entries from (-edl) extern char *edl_output_filename; // file to put EDL entries in (-edlout) void free_edl(edl_record_ptr next_edl_record); // free's entire EDL list. edl_record_ptr edl_parse_file(void); // fills EDL stack #endif