rb_cdio 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. data/ext/CdIo.c +132 -0
  2. data/ext/CdIo.h +108 -0
  3. data/ext/CdIo.o +0 -0
  4. data/ext/CdIo_Cd.c +345 -0
  5. data/ext/CdIo_Cd.o +0 -0
  6. data/ext/CdIo_Common.c +84 -0
  7. data/ext/CdIo_Common.o +0 -0
  8. data/ext/CdIo_Modulo.c +226 -0
  9. data/ext/CdIo_Modulo.o +0 -0
  10. data/ext/CdIo_Track.c +91 -0
  11. data/ext/CdIo_Track.o +0 -0
  12. data/ext/CdIo_TrackIso9660.c +78 -0
  13. data/ext/CdIo_TrackIso9660.o +0 -0
  14. data/ext/Makefile +127 -0
  15. data/ext/extconf.rb +4 -0
  16. data/ext/mkmf.log +26 -0
  17. data/lib/rb_cdio_read.rb +39 -0
  18. data/test/data/Makefile +677 -0
  19. data/test/data/Makefile.am +78 -0
  20. data/test/data/Makefile.in +677 -0
  21. data/test/data/bad-cat1.cue +9 -0
  22. data/test/data/bad-cat1.toc +8 -0
  23. data/test/data/bad-cat2.cue +9 -0
  24. data/test/data/bad-cat2.toc +8 -0
  25. data/test/data/bad-cat3.cue +9 -0
  26. data/test/data/bad-cat3.toc +8 -0
  27. data/test/data/bad-mode1.cue +7 -0
  28. data/test/data/bad-mode1.toc +5 -0
  29. data/test/data/bad-msf-1.cue +7 -0
  30. data/test/data/bad-msf-1.toc +6 -0
  31. data/test/data/bad-msf-2.cue +7 -0
  32. data/test/data/bad-msf-2.toc +6 -0
  33. data/test/data/bad-msf-3.cue +7 -0
  34. data/test/data/bad-msf-3.toc +6 -0
  35. data/test/data/cdda-read.right +148 -0
  36. data/test/data/cdda.bin +0 -0
  37. data/test/data/cdda.cue +6 -0
  38. data/test/data/cdda.right +44 -0
  39. data/test/data/cdda.toc +13 -0
  40. data/test/data/cdtext.toc +48 -0
  41. data/test/data/check_cd_read.sh +53 -0
  42. data/test/data/check_common_fn +186 -0
  43. data/test/data/check_common_fn.in +186 -0
  44. data/test/data/check_cue.sh +102 -0
  45. data/test/data/check_cue.sh.in +102 -0
  46. data/test/data/check_iso.sh +32 -0
  47. data/test/data/check_iso.sh.in +32 -0
  48. data/test/data/check_nrg.sh +68 -0
  49. data/test/data/check_nrg.sh.in +68 -0
  50. data/test/data/check_opts.sh +33 -0
  51. data/test/data/check_opts0.right +40 -0
  52. data/test/data/check_opts1.right +40 -0
  53. data/test/data/check_opts2.right +34 -0
  54. data/test/data/check_opts3.right +34 -0
  55. data/test/data/check_opts4.right +44 -0
  56. data/test/data/check_opts5.right +44 -0
  57. data/test/data/check_opts6.right +44 -0
  58. data/test/data/check_opts7.right +44 -0
  59. data/test/data/check_sizeof +117 -0
  60. data/test/data/check_sizeof.c +77 -0
  61. data/test/data/copying.iso +0 -0
  62. data/test/data/copying.right +10 -0
  63. data/test/data/data1.toc +8 -0
  64. data/test/data/data2.toc +13 -0
  65. data/test/data/data5.toc +13 -0
  66. data/test/data/data6.toc +8 -0
  67. data/test/data/data7.toc +13 -0
  68. data/test/data/isofs-m1-read.right +258 -0
  69. data/test/data/isofs-m1.bin +0 -0
  70. data/test/data/isofs-m1.cue +3 -0
  71. data/test/data/isofs-m1.right +57 -0
  72. data/test/data/isofs-m1.toc +4 -0
  73. data/test/data/t1.toc +5 -0
  74. data/test/data/t2.toc +6 -0
  75. data/test/data/t3.toc +11 -0
  76. data/test/data/t4.toc +8 -0
  77. data/test/data/t5.toc +8 -0
  78. data/test/data/t6.toc +7 -0
  79. data/test/data/t7.toc +12 -0
  80. data/test/data/t8.toc +14 -0
  81. data/test/data/t9.toc +31 -0
  82. data/test/data/testassert +117 -0
  83. data/test/data/testassert.c +36 -0
  84. data/test/data/testbincue +117 -0
  85. data/test/data/testbincue.c +88 -0
  86. data/test/data/testdefault +117 -0
  87. data/test/data/testdefault.c +196 -0
  88. data/test/data/testischar +117 -0
  89. data/test/data/testischar.c +71 -0
  90. data/test/data/testiso9660 +117 -0
  91. data/test/data/testiso9660.c +153 -0
  92. data/test/data/testtoc +117 -0
  93. data/test/data/testtoc.c +101 -0
  94. data/test/data/vcd_demo.right +116 -0
  95. data/test/data/videocd.nrg +0 -0
  96. data/test/data/videocd.right +92 -0
  97. data/test/testall.rb +4 -0
  98. data/test/testbincue.rb +30 -0
  99. data/test/testtoc.rb +45 -0
  100. metadata +141 -0
@@ -0,0 +1,102 @@
1
+ #!/bin/sh
2
+ #$Id: check_cue.sh.in,v 1.20 2004/07/24 14:23:39 rocky Exp $
3
+ # Tests to see that BIN/CUE and cdrdao TOC file iamge reading is correct
4
+ # (via cd-info).
5
+
6
+ if test -n "@VCDINFO_LIBS@" ; then
7
+ vcd_opt='--no-vcd'
8
+ fi
9
+
10
+ if test -z "$srcdir" ; then
11
+ srcdir=`pwd`
12
+ fi
13
+
14
+ . ${srcdir}/check_common_fn
15
+
16
+ if test ! -x ../src/cd-info ; then
17
+ exit 77
18
+ fi
19
+
20
+ BASE=`basename $0 .sh`
21
+
22
+ fname=cdda
23
+ testnum=CD-DA
24
+ opts="--quiet --cue-file ${srcdir}/${fname}.cue --no-cddb"
25
+ test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
26
+ RC=$?
27
+ check_result $RC "cd-info CUE test $testnum" "cd-info $opts"
28
+
29
+
30
+ opts="--quiet --bin-file ${srcdir}/${fname}.bin --no-cddb"
31
+ test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
32
+ RC=$?
33
+ check_result $RC "cd-info BIN test $testnum" "cd-info $opts"
34
+
35
+ opts="--quiet --toc-file ${srcdir}/${fname}.toc --no-cddb"
36
+ test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
37
+ RC=$?
38
+ check_result $RC "cd-info TOC test $testnum" "cd-info $opts"
39
+
40
+ fname=isofs-m1
41
+ testnum='ISO 9660 mode1 CUE'
42
+ if test -f ${srcdir}/${fname}.bin ; then
43
+ opts="-q --no-disc-mode --cue-file ${srcdir}/${fname}.cue --iso9660"
44
+ test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
45
+ RC=$?
46
+ check_result $RC "cd-info CUE test $testnum" "$opts"
47
+ else
48
+ echo "Don't see CUE file ${srcdir}/${fname}.bin. Test $testnum skipped."
49
+ fi
50
+
51
+ testnum='ISO 9660 mode1 TOC'
52
+ if test -f ${srcdir}/${fname}.bin ; then
53
+ opts="-q --no-disc-mode --toc-file ${srcdir}/${fname}.toc --iso9660"
54
+ test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
55
+ RC=$?
56
+ check_result $RC "cd-info TOC test $testnum" "cd-info $opts"
57
+ else
58
+ echo "Don't see TOC file ${srcdir}/${fname}.bin. Test $testnum skipped."
59
+ fi
60
+
61
+ fname=vcd_demo
62
+ if test -z "@VCDINFO_LIBS@" ; then
63
+ right=${srcdir}/${fname}.right
64
+ else
65
+ right=${srcdir}/${fname}_vcdinfo.right
66
+ fi
67
+ testnum='Video CD'
68
+ if test -f ${srcdir}/${fname}.bin ; then
69
+ opts="-q --no-disc-mode -c ${srcdir}/${fname}.cue --iso9660"
70
+ test_cdinfo "$opts" ${fname}.dump $right
71
+ RC=$?
72
+ check_result $RC "cd-info CUE test $testnum" "cd-info $opts"
73
+
74
+ opts="-q --no-disc-mode -t ${srcdir}/${fname}.toc --iso9660"
75
+ if test -f ${srcdir}/${fname}.toc ; then
76
+ test_cdinfo "$opts" ${fname}.dump $right
77
+ RC=$?
78
+ check_result $RC "cd-info TOC test $testnum" "cd-info $opts"
79
+ else
80
+ echo "Don't see TOC file ${srcdir}/${fname}.toc. Test $testnum skipped."
81
+ fi
82
+ else
83
+ echo "Don't see CUE file ${srcdir}/${fname}.cue. Test $testnum skipped."
84
+ fi
85
+
86
+ fname=svcd_ogt_test_ntsc
87
+ testnum='Super Video CD'
88
+ if test -f ${srcdir}/${fname}.bin ; then
89
+ opts="-q --no-disc-mode --cue-file ${srcdir}/${fname}.cue $vcd_opt --iso9660"
90
+ test_cdinfo "$opts" ${fname}.dump ${srcdir}/${fname}.right
91
+ RC=$?
92
+ check_result $RC "cd-info CUE test $testnum" "cd-info $opts"
93
+ else
94
+ echo "Don't see CUE file ${srcdir}/${fname}.bin. Test $testnum skipped."
95
+ fi
96
+
97
+ exit $RC
98
+
99
+ #;;; Local Variables: ***
100
+ #;;; mode:shell-script ***
101
+ #;;; eval: (sh-set-shell "bash") ***
102
+ #;;; End: ***
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+ #$Id: check_iso.sh.in,v 1.3 2004/05/07 02:15:52 rocky Exp $
3
+
4
+ if test -z $srcdir ; then
5
+ srcdir=`pwd`
6
+ fi
7
+
8
+ . ${srcdir}/check_common_fn
9
+
10
+ if test ! -x ../src/iso-info ; then
11
+ exit 77
12
+ fi
13
+
14
+ BASE=`basename $0 .sh`
15
+ fname=copying
16
+
17
+ opts="--quiet ${srcdir}/${fname}.iso --iso9660 "
18
+ test_iso_info "$opts" ${fname}.dump ${srcdir}/${fname}.right
19
+ RC=$?
20
+ check_result $RC 'iso-info test 1' "iso-info $opts"
21
+
22
+ opts="--image ${srcdir}/${fname}.iso --extract $fname "
23
+ test_iso_read "$opts" ${fname} ${srcdir}/../COPYING
24
+ RC=$?
25
+ check_result $RC 'iso-read test 1' "iso-read $opts"
26
+
27
+ exit $RC
28
+
29
+ #;;; Local Variables: ***
30
+ #;;; mode:shell-script ***
31
+ #;;; eval: (sh-set-shell "bash") ***
32
+ #;;; End: ***
@@ -0,0 +1,32 @@
1
+ #!/bin/sh
2
+ #$Id: check_iso.sh.in,v 1.3 2004/05/07 02:15:52 rocky Exp $
3
+
4
+ if test -z $srcdir ; then
5
+ srcdir=`pwd`
6
+ fi
7
+
8
+ . ${srcdir}/check_common_fn
9
+
10
+ if test ! -x ../src/iso-info ; then
11
+ exit 77
12
+ fi
13
+
14
+ BASE=`basename $0 .sh`
15
+ fname=copying
16
+
17
+ opts="--quiet ${srcdir}/${fname}.iso --iso9660 "
18
+ test_iso_info "$opts" ${fname}.dump ${srcdir}/${fname}.right
19
+ RC=$?
20
+ check_result $RC 'iso-info test 1' "iso-info $opts"
21
+
22
+ opts="--image ${srcdir}/${fname}.iso --extract $fname "
23
+ test_iso_read "$opts" ${fname} ${srcdir}/../COPYING
24
+ RC=$?
25
+ check_result $RC 'iso-read test 1' "iso-read $opts"
26
+
27
+ exit $RC
28
+
29
+ #;;; Local Variables: ***
30
+ #;;; mode:shell-script ***
31
+ #;;; eval: (sh-set-shell "bash") ***
32
+ #;;; End: ***
@@ -0,0 +1,68 @@
1
+ #!/bin/sh
2
+ #$Id: check_nrg.sh.in,v 1.10 2004/05/31 13:32:19 rocky Exp $
3
+
4
+ if test -n "-lvcdinfo -lvcd -liso9660 -lcdio -lm " ; then
5
+ vcd_opt='--no-vcd'
6
+ fi
7
+
8
+ if test -z $srcdir ; then
9
+ srcdir=`pwd`
10
+ fi
11
+
12
+ . ${srcdir}/check_common_fn
13
+
14
+ if test ! -x ../src/cd-info ; then
15
+ exit 77
16
+ fi
17
+
18
+ BASE=`basename $0 .sh`
19
+ test_name=videocd
20
+
21
+ test_cdinfo "--quiet --nrg-file ${srcdir}/${test_name}.nrg $vcd_opt --iso9660 " \
22
+ ${test_name}.dump ${srcdir}/${test_name}.right
23
+ RC=$?
24
+ check_result $RC 'cd-info NRG test 1'
25
+
26
+ BASE=`basename $0 .sh`
27
+ nrg_file=${srcdir}/monvoisin.nrg
28
+
29
+ if test -f $nrg_file ; then
30
+ test_cdinfo "-q --nrg-file $nrg_file $vcd_opt --iso9660 " \
31
+ monvoisin.dump ${srcdir}/monvoisin.right
32
+ RC=$?
33
+ check_result $RC 'cd-info NRG test 2'
34
+ else
35
+ echo "Don't see NRG file ${nrg_file}. Test skipped."
36
+ exit 0
37
+ fi
38
+
39
+ test_name='svcdgs'
40
+ nrg_file=${srcdir}/${test_name}.nrg
41
+ if test -f $nrg_file ; then
42
+ test_cdinfo "-q --nrg-file $nrg_file $vcd_opt --iso9660" \
43
+ ${test_name}.dump ${srcdir}/${test_name}.right
44
+ RC=$?
45
+ check_result $RC "cd-info NRG $test_name"
46
+ else
47
+ echo "Don't see NRG file ${nrg_file}. Test skipped."
48
+ exit $SKIP_TEST_EXITCODE
49
+ fi
50
+
51
+ test_name='cdda-mcn'
52
+ nrg_file=${srcdir}/${test_name}.nrg
53
+ if test -f $nrg_file ; then
54
+ test_cdinfo "-q --nrg-file $nrg_file --no-cddb" \
55
+ ${test_name}.dump ${srcdir}/${test_name}.right
56
+ RC=$?
57
+ check_result $RC "cd-info NRG $test_name"
58
+
59
+ exit $RC
60
+ else
61
+ echo "Don't see NRG file ${nrg_file}. Test skipped."
62
+ exit $SKIP_TEST_EXITCODE
63
+ fi
64
+
65
+ #;;; Local Variables: ***
66
+ #;;; mode:shell-script ***
67
+ #;;; eval: (sh-set-shell "bash") ***
68
+ #;;; End: ***
@@ -0,0 +1,68 @@
1
+ #!/bin/sh
2
+ #$Id: check_nrg.sh.in,v 1.10 2004/05/31 13:32:19 rocky Exp $
3
+
4
+ if test -n "@VCDINFO_LIBS@" ; then
5
+ vcd_opt='--no-vcd'
6
+ fi
7
+
8
+ if test -z $srcdir ; then
9
+ srcdir=`pwd`
10
+ fi
11
+
12
+ . ${srcdir}/check_common_fn
13
+
14
+ if test ! -x ../src/cd-info ; then
15
+ exit 77
16
+ fi
17
+
18
+ BASE=`basename $0 .sh`
19
+ test_name=videocd
20
+
21
+ test_cdinfo "--quiet --nrg-file ${srcdir}/${test_name}.nrg $vcd_opt --iso9660 " \
22
+ ${test_name}.dump ${srcdir}/${test_name}.right
23
+ RC=$?
24
+ check_result $RC 'cd-info NRG test 1'
25
+
26
+ BASE=`basename $0 .sh`
27
+ nrg_file=${srcdir}/monvoisin.nrg
28
+
29
+ if test -f $nrg_file ; then
30
+ test_cdinfo "-q --nrg-file $nrg_file $vcd_opt --iso9660 " \
31
+ monvoisin.dump ${srcdir}/monvoisin.right
32
+ RC=$?
33
+ check_result $RC 'cd-info NRG test 2'
34
+ else
35
+ echo "Don't see NRG file ${nrg_file}. Test skipped."
36
+ exit 0
37
+ fi
38
+
39
+ test_name='svcdgs'
40
+ nrg_file=${srcdir}/${test_name}.nrg
41
+ if test -f $nrg_file ; then
42
+ test_cdinfo "-q --nrg-file $nrg_file $vcd_opt --iso9660" \
43
+ ${test_name}.dump ${srcdir}/${test_name}.right
44
+ RC=$?
45
+ check_result $RC "cd-info NRG $test_name"
46
+ else
47
+ echo "Don't see NRG file ${nrg_file}. Test skipped."
48
+ exit $SKIP_TEST_EXITCODE
49
+ fi
50
+
51
+ test_name='cdda-mcn'
52
+ nrg_file=${srcdir}/${test_name}.nrg
53
+ if test -f $nrg_file ; then
54
+ test_cdinfo "-q --nrg-file $nrg_file --no-cddb" \
55
+ ${test_name}.dump ${srcdir}/${test_name}.right
56
+ RC=$?
57
+ check_result $RC "cd-info NRG $test_name"
58
+
59
+ exit $RC
60
+ else
61
+ echo "Don't see NRG file ${nrg_file}. Test skipped."
62
+ exit $SKIP_TEST_EXITCODE
63
+ fi
64
+
65
+ #;;; Local Variables: ***
66
+ #;;; mode:shell-script ***
67
+ #;;; eval: (sh-set-shell "bash") ***
68
+ #;;; End: ***
@@ -0,0 +1,33 @@
1
+ #!/bin/sh
2
+ #$Id: check_opts.sh,v 1.6 2004/05/07 02:15:56 rocky Exp $
3
+ # Check cd-info options
4
+ if test -z "$srcdir" ; then
5
+ srcdir=`pwd`
6
+ fi
7
+
8
+ . ${srcdir}/check_common_fn
9
+
10
+ if test ! -x ../src/cd-info ; then
11
+ exit 77
12
+ fi
13
+
14
+ BASE=`basename $0 .sh`
15
+
16
+ fname=isofs-m1
17
+ i=0
18
+ for opt in '-T' '--no-tracks' '-A' '--no-analyze' '-I' '--no-ioctl' \
19
+ '-q' '--quiet' ; do
20
+ testname=${BASE}$i
21
+ opts="--cue-file ${srcdir}/${fname}.cue $opt --quiet"
22
+ test_cdinfo "$opts" ${testname}.dump ${srcdir}/${testname}.right
23
+ RC=$?
24
+ check_result $RC "cd-info option test $opt" "cd-info $opts"
25
+ i=`expr $i + 1`
26
+ done
27
+
28
+ exit $RC
29
+
30
+ #;;; Local Variables: ***
31
+ #;;; mode:shell-script ***
32
+ #;;; eval: (sh-set-shell "bash") ***
33
+ #;;; End: ***
@@ -0,0 +1,40 @@
1
+ This is free software; see the source for copying conditions.
2
+ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
3
+ PARTICULAR PURPOSE.
4
+ Hardware : Disk Image
5
+ Can eject : No
6
+ Can close tray : No
7
+ Can disable manual eject : No
8
+ Can select juke-box disc : No
9
+
10
+ Can set drive speed : No
11
+ Can detect if CD changed : No
12
+ Can read multiple sessions : No
13
+ Can hard reset device : No
14
+
15
+ Reading....
16
+ Can play audio : Yes
17
+ Can read CD-R : Yes
18
+ Can read CD-RW : Yes
19
+ Can read DVD-ROM : No
20
+
21
+ Writing....
22
+ Can write CD-RW : No
23
+ Can write DVD-R : No
24
+ Can write DVD-RAM : No
25
+ Can write DVD-RW : No
26
+ Can write DVD+RW : No
27
+ __________________________________
28
+
29
+ Disc mode is listed as: CD-DATA Form 1
30
+ Media Catalog Number (MCN): not available
31
+ __________________________________
32
+ CD Analysis Report
33
+ CD-ROM with ISO 9660 filesystem
34
+ ISO 9660: 64 blocks, label `CDROM '
35
+ Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
36
+ Preparer :
37
+ Publisher :
38
+ System : LINUX
39
+ Volume : CDROM
40
+ Volume Set :
@@ -0,0 +1,40 @@
1
+ This is free software; see the source for copying conditions.
2
+ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
3
+ PARTICULAR PURPOSE.
4
+ Hardware : Disk Image
5
+ Can eject : No
6
+ Can close tray : No
7
+ Can disable manual eject : No
8
+ Can select juke-box disc : No
9
+
10
+ Can set drive speed : No
11
+ Can detect if CD changed : No
12
+ Can read multiple sessions : No
13
+ Can hard reset device : No
14
+
15
+ Reading....
16
+ Can play audio : Yes
17
+ Can read CD-R : Yes
18
+ Can read CD-RW : Yes
19
+ Can read DVD-ROM : No
20
+
21
+ Writing....
22
+ Can write CD-RW : No
23
+ Can write DVD-R : No
24
+ Can write DVD-RAM : No
25
+ Can write DVD-RW : No
26
+ Can write DVD+RW : No
27
+ __________________________________
28
+
29
+ Disc mode is listed as: CD-DATA Form 1
30
+ Media Catalog Number (MCN): not available
31
+ __________________________________
32
+ CD Analysis Report
33
+ CD-ROM with ISO 9660 filesystem
34
+ ISO 9660: 64 blocks, label `CDROM '
35
+ Application: MKISOFS ISO 9660/HFS FILESYSTEM BUILDER & CDRECORD CD-R/DVD CREATOR (C) 1993 E.YOUNGDALE (C) 1997 J.PEARSON/J.SCHILLING
36
+ Preparer :
37
+ Publisher :
38
+ System : LINUX
39
+ Volume : CDROM
40
+ Volume Set :
@@ -0,0 +1,34 @@
1
+ This is free software; see the source for copying conditions.
2
+ There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
3
+ PARTICULAR PURPOSE.
4
+ Hardware : Disk Image
5
+ Can eject : No
6
+ Can close tray : No
7
+ Can disable manual eject : No
8
+ Can select juke-box disc : No
9
+
10
+ Can set drive speed : No
11
+ Can detect if CD changed : No
12
+ Can read multiple sessions : No
13
+ Can hard reset device : No
14
+
15
+ Reading....
16
+ Can play audio : Yes
17
+ Can read CD-R : Yes
18
+ Can read CD-RW : Yes
19
+ Can read DVD-ROM : No
20
+
21
+ Writing....
22
+ Can write CD-RW : No
23
+ Can write DVD-R : No
24
+ Can write DVD-RAM : No
25
+ Can write DVD-RW : No
26
+ Can write DVD+RW : No
27
+ __________________________________
28
+
29
+ Disc mode is listed as: CD-DATA Form 1
30
+ CD-ROM Track List (1 - 1)
31
+ #: MSF LSN Type Green?
32
+ 1: 00:02:00 000000 data false
33
+ 170: 00:06:02 000302 leadout
34
+ Media Catalog Number (MCN): not available