annotate TOOLS/menc2pass @ 9177:01a713dcaf23
disable free() in string and string_list parsers. yes, it's a hack
(and a little memleak), but i can explain :)
[note it's just a few kB memleak, but it's the price of stability without
full code review/audit - there are hunderds of possible double free()]
the old config parser didn't free() strings/stringlists, but didn't even
allocate them by default. the new one always free(), and it causes
memcorruption/sig11 at cases like this:
char* dvd_device="/dev/dvd";
{"dvd-device", &dvd_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
since string constansts (allocated in .TEXT segment) cannot be free()'d
author |
arpi |
date |
Thu, 30 Jan 2003 21:28:01 +0000 |
parents |
6b1bdda5ab76 |
children |
9733351ea3e5 |
rev |
line source |
3024
|
1 #!/usr/bin/perl -w
|
|
2 # Helper script to ease MEncoder two pass encoding
|
|
3 # Copyleft 2001 by Felix Buenemann <atmosfear@users.sourceforge.net>
|
9159
|
4 # This file comes under GPL, see http://www.gnu.org/copyleft/gpl.html for more
|
3024
|
5 # information on it's licensing.
|
|
6 use strict;
|
|
7 my $mencoder="mencoder"; # Path to MEncoder (including binary name)
|
|
8
|
|
9 die <<"EOF" unless @ARGV;
|
|
10 Menc2Pass: No arguments given!
|
|
11 Please give all usual encoding parameters you would give to mencoder, but leave
|
|
12 away the -pass switch.
|
|
13 EOF
|
|
14
|
|
15 for(my $i=1; $i<=2; $i++) {
|
|
16 system($mencoder,@ARGV," -pass $i")
|
|
17 and die "MEncoder pass $i failed!\n"
|
|
18 }
|
|
19
|