Changeset 25037 for lang

Show
Ignore:
Timestamp:
11/27/08 10:48:51 (6 years ago)
Author:
daisuke
Message:

Massive renaming

Location:
lang/perl/Video-LibAvformat/trunk
Files:
2 added
1 removed
3 modified
3 moved

Legend:

Unmodified
Added
Removed
  • lang/perl/Video-LibAvformat/trunk/LibAvformat.xs

    r25030 r25037  
    33#include "XSUB.h" 
    44 
    5 #include "perl_avcodec.h" 
     5#include "perl-avformat.h" 
    66 
    7 MODULE = Video::Avcodec          PACKAGE = Video::Avcodec       PREFIX = av_ 
     7MODULE = Video::LibAvformat          PACKAGE = Video::LibAvformat       PREFIX = av_ 
    88 
    99PROTOTYPES: DISABLED 
    1010 
    11 int 
    12 av_get_bits_per_sample_format(enum SampleFormat sample_fmt); 
     11MODULE = Video::LibAvformat          PACKAGE = Video::LibAvformat::Const 
    1312 
     13PROTOTYPES: ENABLED 
    1414 
    15 MODULE = Video::Avcodec          PACKAGE = Video::Avcodec::Const 
     15INCLUDE: avformat-const.inc 
     16 
     17MODULE = Video::LibAvformat          PACKAGE = Video::LibAvcodec::Const 
    1618 
    1719PROTOTYPES: ENABLED 
    1820 
    1921INCLUDE: avcodec-const.inc 
     22 
  • lang/perl/Video-LibAvformat/trunk/Makefile.PL

    r25030 r25037  
    22use ExtUtils::MakeMaker; 
    33 
    4 my $INCDIR; 
    5 my $HEADER; 
    6 my $CONSTFILE = 'avcodec-const.inc'; 
    7 my $CONSTPM   = 'lib/Video/Avcodec/Const.pm'; 
    8  
     4use File::Spec; 
     5 
     6my %CONFIG = ( 
     7    avcodec => { 
     8        incdir    => undef, 
     9        header    => undef, 
     10        constfile => 'avcodec-const.inc', 
     11        constpm   => File::Spec->catfile(qw(lib Video LibAvcodec Const.pm)), 
     12    }, 
     13    avformat => { 
     14        incdir    => undef, 
     15        header    => undef, 
     16        constfile => 'avformat-const.inc', 
     17        constpm   => File::Spec->catfile(qw(lib Video LibAvformat Const.pm)), 
     18    }, 
     19); 
    920 
    1021print <<EOM; 
    1122 
    12 This is the perl interface to libavcodec, which comes with ffmpeg. 
     23This is the perl interface to libavformat and libavcodec, which come with ffmpeg. 
    1324 
    1425EOM 
     
    3647} 
    3748 
    38 { # look for where avcodec.h is 
    39     print <<EOM; 
    40 Looking for avcodec.h... 
    41  
    42 EOM 
    43     my @dirs = qw(/usr/local/include /opt/local/include /usr/include); 
    44     unshift @dirs, $ENV{AVCODEC_INC} if $ENV{AVCODEC_INC}; 
    45     foreach my $dir (@dirs) { 
    46         if ( -f File::Spec->catfile($dir, 'libavcodec', 'avcodec.h')) { 
    47             $INCDIR = $dir; 
    48             last; 
    49         } 
    50     } 
    51  
    52     if (! $INCDIR || ! -d $INCDIR || ! -f ($HEADER = File::Spec->catfile($INCDIR, 'libavcodec', 'avcodec.h'))) { 
    53         print STDERR <<EOM; 
    54 Couldn't find avcodec.h. If you have installed it in an odd location,  
    55 please specify the directory in AVCODEC_INC dir 
    56 EOM 
    57         exit 1; 
    58     } 
    59     print <<EOM; 
    60 Found avcodec.h in $HEADER. 
    61  
    62 EOM 
    63 } 
    64  
    65 { # Check if we have const file 
    66     if (! -f $CONSTFILE) { 
    67         print <<EOM; 
    68 No const file ($CONSTFILE) found. We will generate one from avcodec.h. 
    69  
    70 EOM 
    71         gen_constfile(); 
    72     } 
    73 } 
    74  
    75 { # Finally create a Makefile 
     49 
     50{ 
     51    foreach my $type (keys %CONFIG) { 
     52        prepare($type); 
     53    } 
     54 
    7655    print <<EOM; 
    7756Generating Makefile... 
     
    8059 
    8160    WriteMakefile( 
    82         INC          => "-I$INCDIR", 
    83         DISTNAME     => 'Video-Avcodec', 
    84         LIBS         => [ '-lavcodec' ], 
    85         NAME         => 'Video::Avcodec', 
     61        INC          => join(' ', map { "-I$CONFIG{$_}{incdir}" } keys %CONFIG), 
     62        DISTNAME     => 'Video-LibAvformat', 
     63        LIBS         => [ '-lavformat -lavcodec' ], 
     64        NAME         => 'Video::LibAvformat', 
    8665        OBJECT       => '$(O_FILES)', 
    87         VERSION_FROM => 'lib/Video/Avcodec.pm', 
     66        VERSION_FROM => 'lib/Video/LibAvformat.pm', 
    8867        clean        => { 
    89             FILES => "$CONSTFILE $CONSTPM" 
     68            FILES => join(' ', map { "$CONFIG{$_}{constfile} $CONFIG{$_}{constpm}" } keys %CONFIG ) 
    9069        } 
    9170    ); 
     
    9473# Utilities 
    9574sub gen_constfile { 
    96     open(my $header, '<', $HEADER) or 
    97         die "Could not open $HEADER: $!"; 
     75    my $type = shift; 
     76 
     77    my $header = $CONFIG{$type}{header} or 
     78        die "Don't know where the header file is for $type"; 
     79 
     80    open(my $header, '<', $header) or 
     81        die "Could not open $header: $!"; 
    9882 
    9983    my %constants; 
     
    11296 
    11397    { # one big-ass constant file 
    114         open(my $fh, '>', $CONSTFILE) or 
    115             die "Could not open $CONSTFILE: $!"; 
     98        my $constfile = $CONFIG{$type}{constfile}; 
     99        open(my $fh, '>', $constfile) or 
     100            die "Could not open $constfile: $!"; 
    116101        print $fh <<EOM; 
    117102# DO NOT EDIT! GENERATED BY $0 ON @{ [ scalar localtime() ] } 
     
    134119 
    135120    { # create perl wrapper 
    136         open(my $fh, '>', $CONSTPM) or 
    137             die "Could not open $CONSTPM: $!"; 
     121        my $constpm = $CONFIG{$type}{constpm}; 
     122        open(my $fh, '>', $constpm) or 
     123            die "Could not open $constpm: $!"; 
    138124        print $fh <<EOM; 
    139125# DO NOT EDIT! GENERATED BY $0 ON @{ [ scalar localtime() ] } 
    140126 
    141 package Video::Avcodec::Const; 
     127package Video::Lib@{[ ucfirst $type ]}::Const; 
    142128use Exporter 'import'; 
    143129 
     
    168154=head1 NAME 
    169155 
    170 Video::Avcodec::Const - Constants for Video::Avcodec 
     156Video::Lib@{[ ucfirst $type ]}::Const - Constants for Video::Lib@{[ucfirst $type]} 
    171157 
    172158=head1 SYNOPSIS 
    173159 
    174     use Video::Avcodec::Const; 
     160    use Video::@{[ucfirst]}::Const; 
    175161 
    176162=cut 
     
    179165    } 
    180166} 
     167 
     168sub prepare { 
     169    my $type = shift; 
     170    probe_header($type); 
     171    # Check if we have const file 
     172    my $constfile = $CONFIG{$type}{constfile}; 
     173    if (! -f $constfile) { 
     174        print <<EOM; 
     175No const file ($constfile) found. We will generate one from $type.h. 
     176 
     177EOM 
     178        gen_constfile($type); 
     179    } 
     180} 
     181 
     182sub probe_header { # look for where avformat.h/avcodec.h is 
     183    my $type = shift; 
     184 
     185    print <<EOM; 
     186Looking for $type.h... 
     187 
     188EOM 
     189    my @dirs = qw(/usr/local/include /opt/local/include /usr/include); 
     190    unshift @dirs, $ENV{uc "${type}_INC"} if $ENV{uc "${type}_INC"}; 
     191 
     192    my $incdir; 
     193 
     194    foreach my $dir (@dirs) { 
     195        if ( -f File::Spec->catfile($dir, "lib$type", "$type.h")) { 
     196            $incdir = $dir; 
     197            last; 
     198        } 
     199    } 
     200 
     201    my $header; 
     202    if (! $incdir || ! -d $incdir || ! -f ($header = File::Spec->catfile($incdir, "lib$type", "$type.h"))) { 
     203        print STDERR <<EOM; 
     204Couldn't find $type.h. If you have installed it in an odd location,  
     205please specify the directory in @{[uc $type]}_INC dir 
     206EOM 
     207        exit 1; 
     208    } 
     209    print <<EOM; 
     210Found $type.h in $header. 
     211 
     212EOM 
     213 
     214    $CONFIG{$type}{incdir} = $incdir; 
     215    $CONFIG{$type}{header} = $header; 
     216} 
     217 
  • lang/perl/Video-LibAvformat/trunk/lib/Video/LibAvformat.pm

    r25019 r25037  
    1 package Video::Avcodec; 
     1package Video::LibAvformat; 
    22use strict; 
    33use warnings; 
     
    88    XSLoader::load(__PACKAGE__, $VERSION); 
    99} 
    10 use Video::Avcodec::Const; 
     10use Video::LibAvformat::Const; 
    1111 
    12121; 
     
    1616=head1 NAME 
    1717 
    18 Video::Avcodec - Interface To libavcodec 
     18Video::LibAvformat - Interface To libavcodec 
    1919 
    2020=head1 SYNOPSIS 
    2121 
    22     use Video::Avcodec; 
     22    use Video::LibAvformat; 
    2323 
    2424=head1 SEE ALSO 
     
    2626=over 4 
    2727 
    28 =item Video::Avcodec::Const 
     28=item Video::LibAvformat::Const 
    2929 
    3030Covers the constants defined in avcodec.h 
  • lang/perl/Video-LibAvformat/trunk/perl-avformat.h

    r25030 r25037  
    11/* Utility functions for Video::Avcodec */ 
    22 
     3#include "libavformat/avformat.h" 
    34#include "libavcodec/avcodec.h" 
    45 
  • lang/perl/Video-LibAvformat/trunk/t/00_compile.t

    r25019 r25037  
    22use Test::More (tests => 1); 
    33 
    4 use_ok("Video::Avcodec"); 
     4use_ok("Video::LibAvformat"); 
  • lang/perl/Video-LibAvformat/trunk/t/01_basic.t

    r25030 r25037  
    11use strict; 
    2 use Test::More (tests => 1); 
    3  
    4 use Video::Avcodec; 
    5  
    6 { 
    7     my $bits = Video::Avcodec::get_bits_per_sample_format( 
    8         &Video::Avcodec::Const::SAMPLE_FMT_DBL 
    9     ); 
    10  
    11     # I have no idea if this is the right value, but bits should be 64 
    12     note("SAMPLE_FMT_DBL -> bits = $bits"); 
    13     ok($bits); 
    14 } 
     2use Test::More (skip_all => "unimplemented");