Mercurial > mplayer.hg
view debian/postinst @ 10578:b9d289fd8a57
10000l, the old code was slow as hell, copying stuff extra times and
actually broken -- blanking the whole screen at each 'page flip' with
-dr enabled. benchmarks:
before:
56% cpu for decode
56% cpu for vo with no -dr
25% cpu for vo with -dr
after:
56% cpu for decode
25% cpu for vo without -dr
0% cpu for vo with -dr
if vo_fbdev is going to do pageflip, it needs to do it for REAL, using
vertical scroll registers (like g2), not copying a temp buffer (which
will shear anyway and is super-slow).
author | rfelker |
---|---|
date | Tue, 12 Aug 2003 08:24:24 +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