Mercurial > mplayer.hg
view divx4_vbr.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 |
line wrap: on
line source
// methods from class VbrControl void VbrControl_init_1pass_vbr(int quality, int crispness); int VbrControl_init_2pass_vbr_encoding(const char* filename, int bitrate, double framerate, int crispness, int quality); int VbrControl_init_2pass_vbr_analysis(const char* filename, int quality); void VbrControl_update_1pass_vbr(void); void VbrControl_update_2pass_vbr_encoding(int motion_bits, int texture_bits, int total_bits); void VbrControl_update_2pass_vbr_analysis(int is_key_frame, int motion_bits, int texture_bits, int total_bits, int quant); int VbrControl_get_quant(void); void VbrControl_set_quant(float q); int VbrControl_get_intra(void); short VbrControl_get_drop(void); void VbrControl_close(void);