view debian/postinst @ 20752:0617c67ad68f

Fix code that cuts audio data if the filters produce too much. It incorrectly used the channel count and sample size values from the decoder even though the filters can change those.
author uau
date Tue, 07 Nov 2006 23:16:55 +0000
parents a5bef61f49bf
children
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(2.0);
my $didupgrade = 0;

dealwithupgrades();

my $mcfg = new ConfHelper('mplayer', "/etc/mplayer/mplayer.conf");



my $dcarea = "" ;
my $font =  scalar(get("mplayer/ttfont"))  ;
  $dcarea .= "#truetype font\nfont=" . $font . "\n"   if $font;
$mcfg->setconfarea($dcarea);



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')) {
    $didupgrade = 1;
    for my $file ("/etc/mplayer/mplayer.conf"    ) {
      debug("Moving away $file");
      rename($file,$file . ".old");
    }
  } else {
    debug("Upgrade refused, exiting");
    exit 0;
  }
}

sub debug {
  print STDERR @_, "\n";
}


# pass control to debhelper scripts..
#
my $temp="set -e\nset -- @ARGV\n" . << 'DEBHELPER_EOF_';
#DEBHELPER#
DEBHELPER_EOF_
system ($temp) / 256 == 0
   or die "Problem with debhelper scripts: $!";