Mercurial > mplayer.hg
view debian/postinst @ 12334:eeddcef4fb08
"hard" frame duplication for mencoder. this finally makes it possible
to generate valid mpeg output from avi's that have duplicate frames in
them, or when using inverse telecine filters. to use it, put the
"harddup" filter at the end of your filter chain.
author | rfelker |
---|---|
date | Wed, 28 Apr 2004 04:02:46 +0000 |
parents | e59659bea3e0 |
children | 93590989822a |
line wrap: on
line source
#!/usr/bin/perl -w # mplayer postinst require ConfHelper; use Debconf::Client::ConfModule qw(:all); use IO::Handle; use Fcntl; my $version = version(1.0); my @savedolddata = (); my $didupgrade = 0; dealwithupgrades(); my $mcfg = new ConfHelper('mplayer', "/etc/mplayer/mplayer.conf"); $mcfg->setconfarea(" #MPlayer config file generated by .deb package. #ffactor = 0.9 #fs = yes "); ########################################################################### debug("Configuring video output driver..."); my $dcarea = <<"EOF"; # MPlayer video output driver, configured by mplayer.deb EOF $dcarea .= "vo=" . scalar(get("mplayer/voutput")); $dcarea .= "\n"; $mcfg->setconfarea($dcarea); if ($didupgrade) { $mcfg->setotherarea_DANGEROUS(@savedolddata); } #%################################### exit unless (get("mplayer/configure") eq 'true'); exit unless (fget("mplayer/configure", "isdefault") eq 'false'); #%################################## get("mplayer/cfgnote"); sub dealwithupgrades { open(OLDCONF, "</etc/mplayer/mplayer.conf") || return 1; close OLDCONF; my $mconf = new ConfHelper("mplayer", "/etc/mplayer/mplayer.conf"); return 1 if ($mconf->hasconfarea()); undef $mconf; if ((get('mplayer/replace-existing-files') eq 'true') && (fget('mplayer/replace-existing-files', 'isdefault') eq 'false')) { print STDERR "Upgrading...\n"; #? saveolddata("/etc/network/interfaces", "pppconf"); $didupgrade = 1; for my $file ("/etc/mplayer/mplayer.conf" #, "/etc/mplayer/fonts/sth ) { debug("Deleting $file"); unlink $file; } } else { print STDERR "Upgrade refused, exiting.\n"; exit 0; } } # Gets any debconf area for other packages and saves it off. sub saveolddata { my ($file, $package) = @_; my $conf = new ConfHelper($package, $file); push(@savedolddata, $conf->{startline} . "\n"); push(@savedolddata, $conf->getconfarea()); push(@savedolddata, $conf->{endline} . "\n"); } sub debug { print STDERR @_, "\n"; } # pass control to debhelper scripts.. # system <<EODEBHELPER; #DEBHELPER# EODEBHELPER