File: dsf.t

package info (click to toggle)
libaudio-scan-perl 1.01-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, trixie
  • size: 7,876 kB
  • sloc: ansic: 12,108; perl: 224; makefile: 3
file content (79 lines) | stat: -rw-r--r-- 2,550 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
use strict;

use File::Spec::Functions;
use FindBin ();
use Test::More tests => 35;

use Audio::Scan;

# DSF64
{
    my $s = Audio::Scan->scan( _f('dsf64.dsf') );

    my $info = $s->{info};
    my $tags = $s->{tags};

    is( $info->{audio_offset}, 92, 'Audio offset ok' );
    is( $info->{audio_size}, 40960, 'Audio size ok' );
    is( $info->{bitrate}, 5763649, 'Bitrate ok' );
    is( $info->{bits_per_sample}, 1, 'Bits/sample ok' );
    is( $info->{file_size}, 41158, 'File size ok' );
    is( $info->{channels}, 2, 'Channels ok' );
    is( $info->{song_length_ms}, 57, 'Song length ok' );
    is( $info->{samplerate}, 2822400, 'Sample rate ok' );
    is( $info->{block_size_per_channel}, 4096, 'Block align ok' );

    is( $info->{id3_version}, 'ID3v2.3.0', 'ID3 version ok' );

    is( $tags->{TDRC}, '2013-12-29T19:40', 'TALB ok' );
    is( $tags->{TSSE}, 'KORG AudioGate ver.2.3.3 (Windows 7)', 'TCON ok' );
}

# DSF128
{
    my $s = Audio::Scan->scan( _f('dsf128.dsf') );

    my $info = $s->{info};
    my $tags = $s->{tags};

    is( $info->{audio_offset}, 92, 'Audio offset ok' );
    is( $info->{audio_size}, 49152, 'Audio size ok' );
    is( $info->{bitrate}, 11590117, 'Bitrate ok' );
    is( $info->{bits_per_sample}, 1, 'Bits/sample ok' );
    is( $info->{file_size}, 49350, 'File size ok' );
    is( $info->{channels}, 2, 'Channels ok' );
    is( $info->{song_length_ms}, 34, 'Song length ok' );
    is( $info->{samplerate}, 5644800, 'Sample rate ok' );
    is( $info->{block_size_per_channel}, 4096, 'Block align ok' );

    is( $info->{id3_version}, 'ID3v2.3.0', 'ID3 version ok' );

    is( $tags->{TDRC}, '2013-12-29T19:40', 'TALB ok' );
    is( $tags->{TSSE}, 'KORG AudioGate ver.2.3.3 (Windows 7)', 'TCON ok' );
}

# 6-channel DSF
{
    my $s = Audio::Scan->scan( _f('6channel.dsf') );

    my $info = $s->{info};
    my $tags = $s->{tags};

    is( $info->{audio_offset}, 92, 'Audio offset ok' );
    is( $info->{audio_size}, 567803904, 'Audio size ok' );
    is( $info->{bitrate}, 9, 'Bitrate ok' );
    is( $info->{bits_per_sample}, 1, 'Bits/sample ok' );
    is( $info->{file_size}, 397, 'File size ok' );
    is( $info->{channels}, 6, 'Channels ok' );
    is( $info->{song_length_ms}, 268226, 'Song length ok' );
    is( $info->{samplerate}, 2822400, 'Sample rate ok' );
    is( $info->{block_size_per_channel}, 4096, 'Block align ok' );

    is( $info->{id3_version}, 'ID3v2.3.0', 'ID3 version ok' );

    is( $tags->{TALB}, 'Depeche Mode', 'TALB ok' );
}

sub _f {
    return catfile( $FindBin::Bin, 'dsf', shift );
}