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