Audio-M4P
view release on metacpan or search on metacpan
lib/Audio/M4P/QuickTime.pm view on Meta::CPAN
GENRE => 'GNRE',
NAM => 'TITLE',
ARTIST => 'ART',
ALBUM => 'ALB',
YEAR => 'DAY',
COMMENT => 'CMT',
TRKN => 'TRACKNUM',
SONG => 'TITLE',
);
our @m4p_not_m4a_atom_types = qw( sinf cnID apID atID plID geID akID ---- );
our @apple_user_id_atoms = qw( pinf apID cnID atID plID geID sfID akID purd ownr );
our %iTMS_dict_meta_types = (
copyright => 'cprt',
comments => '©cmt',
songName => '©nam',
genre => 'gnre',
playlistArtistName => '©ART',
genreID => '©gen',
composerName => '©wrt',
lib/Audio/M4P/QuickTime.pm view on Meta::CPAN
print $dumpfh $self->AtomTree();
close $dumpfh;
}
else { print $self->AtomTree() }
}
sub ConvertDrmsToMp4a {
my ($self) = @_;
my $diff = 0;
my $drms = $self->FindAtom('drms') or return;
foreach my $a (@m4p_not_m4a_atom_types) {
my @unwanted = $self->FindAtom($a) or next;
foreach my $u (@unwanted) { $diff += $u->size; $u->selfDelete() }
}
print "Shrunk file by $diff bytes during conversion\n" if $self->{DEBUG};
$self->FixStco( $diff, $drms->start );
$drms->type('mp4a');
}
sub FixStco {
my ( $self, $sinf_sz, $change_position ) = @_;
( run in 0.227 second using v1.01-cache-2.11-cpan-a5abf4f5562 )