[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libcdio-devel] Read Sub-channel changes
From: |
Thomas Schmitt |
Subject: |
Re: [Libcdio-devel] Read Sub-channel changes |
Date: |
Fri, 08 Jul 2016 18:36:26 +0200 |
Hi,
i ran make "dist" on my git clone and tested it on FreeBSD with success
and on Solaris with success after i copied function strndup() from
lib/driver/abs_path.c
============================================================================
On FreeBSD 8.0-STABLE :
$ tar xzf libcdio-0.94git.tar.gz
$ cd libcdio-0.94git
$ ./configure --without-versioned-libs
...
CC cd-info.o
In file included from util.h:59,
from cd-info.c:25:
./getopt.h:182: warning: function declaration isn't a prototype
CC cddb.o
CCLD cd-info
...
$ make
...
$ ./src/cd-info /dev/cd0
cd-info version 0.94git x86_64-unknown-freebsd8.0
Copyright (c) 2003-2005, 2007-2008, 2011-2015 R. Bernstein
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
CD location : /dev/cd0
CD driver name: FreeBSD
access mode: CAM
Vendor : TSSTcorp
Model : CDDVDW SH-S223B
Revision : SB02
Hardware : CD-ROM or DVD
Can eject : Yes
Can close tray : Yes
Can disable manual eject : Yes
Can select juke-box disc : No
Can set drive speed : No
Can read multiple sessions (e.g. PhotoCD) : Yes
Can hard reset device : Yes
Reading....
Can read Mode 2 Form 1 : Yes
Can read Mode 2 Form 2 : Yes
Can read (S)VCD (i.e. Mode 2 Form 1/2) : Yes
Can read C2 Errors : Yes
Can read IRSC : Yes
Can read Media Channel Number (or UPC) : Yes
Can play audio : Yes
Can read CD-DA : Yes
Can read CD-R : Yes
Can read CD-RW : Yes
Can read DVD-ROM : Yes
Writing....
Can write CD-RW : Yes
Can write DVD-R : Yes
Can write DVD-RAM : Yes
Can write DVD-RW : No
Can write DVD+RW : No
__________________________________
Disc mode is listed as: CD-DA
CD-ROM Track List (1 - 3)
#: MSF LSN Type Green? Copy? Channels Premphasis?
1: 00:02:00 000000 audio false no 2 no
2: 00:45:65 003290 audio false no 2 no
3: 01:26:51 006351 audio false no 2 no
170: 01:43:69 007644 leadout (17 MB raw, 17 MB formatted)
Media Catalog Number (MCN): 1234567890123
TRACK 1 ISRC: XYBLG1101234
TRACK 2 ISRC: XYBLG1100005
TRACK 3 ISRC: XYBLG1100006
Last CD Session LSN: failed
audio status: no status
volume level port 0: 216 (0..255) 84 (0..100)
volume level port 1: 216 (0..255) 84 (0..100)
volume level port 2: 0 (0..255) 0 (0..100)
volume level port 3: 0 (0..255) 0 (0..100)
__________________________________
CD Analysis Report
Language 0 'English':
CD-TEXT for Disc:
TITLE: Night Cats II
PERFORMER: United Cat Orchestra
SONGWRITER: Various Songwriters
COMPOSER: Various Composers
MESSAGE: For all our fans
ARRANGER: Tom Cat
UPC_EAN: 1234567890123
GENRE: Feline classic music
DISC_ID: 1234567890
GENRE_CODE: 5 (Classical)
CD-TEXT for Track 1:
TITLE: Song of Joy
PERFORMER: Felix and The Purrs
SONGWRITER: Friedrich Schiller
COMPOSER: Ludwig van Beethoven
MESSAGE: Fritz and Louie once were punks
ARRANGER: Tom Cat
ISRC: XYBLG1101234
CD-TEXT for Track 2:
TITLE: The Hunt
PERFORMER: Catwalk Beauties
SONGWRITER: Mother Nature
COMPOSER: unknown
ARRANGER: Tom Cat
ISRC: XYBLG1100005
CD-TEXT for Track 3:
TITLE: Mee Owwww
PERFORMER: Mia Kitten
SONGWRITER: Mia Kitten
COMPOSER: Mia Kitten
ARRANGER: Mia Kitten
ISRC: XYBLG1100006
Language 1 'German':
CD-TEXT for Disc:
TITLE: Nachtkratz II
PERFORMER: Vereinigtes Katzenorchester
SONGWRITER: Verschiedene Liedschreiber
COMPOSER: Verschiedene Komponisten
MESSAGE: Für alle unsere Fans
ARRANGER: Tom Cat
UPC_EAN: 1234567890123
GENRE: Klassische Katzenmusik
DISC_ID: 1234567890
GENRE_CODE: 5 (Classical)
CD-TEXT for Track 1:
TITLE: Freudenlied
PERFORMER: Felix und Die Schnurrer
SONGWRITER: Friedrich Schiller
COMPOSER: Ludwig van Beethoven
MESSAGE: Fritz und Louie waren einmal Punks
ARRANGER: Tom Cat
ISRC: XYBLG1101234
CD-TEXT for Track 2:
TITLE: Die Jagd
PERFORMER: Laufsteg Miezen
SONGWRITER: Mutter Natur
COMPOSER: unbekannt
ARRANGER: Tom Cat
ISRC: XYBLG1100005
CD-TEXT for Track 3:
TITLE: Mie auu
PERFORMER: Mia Kätzchen
SONGWRITER: Mia Kätzchen
COMPOSER: Mia Kätzchen
ARRANGER: Mia Kätzchen
ISRC: XYBLG1100006
With a CD which refuses to tell its MCN/ISRC data
Media Catalog Number (MCN): not available
TRACK 1 ISRC: 000000000000
TRACK 2 ISRC: 000000000000
TRACK 3 ISRC: 000000000000
I am not sure how much libcdio-MMC was involved. But at least it does not
look like brutal regressions.
============================================================================
On Solaris "SunOS 5.11 snv_134" i run into difficulties
$ tar xzf libcdio-0.94git.tar.gz
$ cd libcdio-0.94git
$ ./configure --without-versioned-libs
...
$ make
make: Fatal error in reader: Makefile, line 979: Badly formed macro assignment
$
Cause is this line in Makefile:
GIT2CL ?= git2cl
After i uncommented it, make went on:
$ make
...
mmc/mmc.c: In function 'mmc_get_mcn_isrc_private':
mmc/mmc.c:579: warning: implicit declaration of function 'strndup'
mmc/mmc.c:579: warning: incompatible implicit declaration of built-in
function 'strndup'
...
Undefined first referenced
symbol in file
strndup
/home/thomas/projekte/libcdio_dir/libcdio-0.94git/lib/driver/.libs/libcdio.so
ld: fatal: symbol referencing errors. No output written to .libs/cd-drive
collect2: ld returned 1 exit status
...
make: Fatal error: Command failed for target `all'
$
No man strndup to see. Google finds lots of substitute functions for Solaris.
But libcdio already seems to have its own strndup:
lib/driver/abs_path.c:static inline char *strndup(const char *s, size_t n)
Copying it to
lib/driver/mmc/mmc.c
silences the error.
(One should consider to give it a cdio_ name and make it available
in lib/driver/util.c )
Still the make run issues some complaints
$ make
...
iso9660_fs.c: In function 'iso9660_ifs_readdir':
iso9660_fs.c:1366: warning: format '%lu' expects type 'long unsigned int',
but argument 2 has type 'size_t'
...
rock.c: In function 'get_rock_ridge_filename':
../../include/cdio/bytesex.h:202: warning: inlining failed in call to
'from_733': call is unlikely and code size would grow
...
CC getopt.o
In file included from getopt.c:102:
getopt.h:182: warning: function declaration isn't a prototype
getopt.c:150: warning: function declaration isn't a prototype
getopt.c: In function '_getopt_internal_r':
getopt.c:573: warning: implicit declaration of function 'alloca'
getopt.c:573: warning: incompatible implicit declaration of built-in function
'alloca'
...
CCLD cd-drive
ld: warning: file ../lib/driver/.libs/libcdio.so: linked to
/home/thomas/projekte/libcdio_dir/libcdio-0.94git/lib/driver/.libs/libcdio.so:
attempted multiple inclusion of file
...
$
Let's try a CD
$ pfexec ./src/cd-info /dev/rdsk/c2t2d0s2
cd-info version 0.94git i386-pc-solaris2.11
...
CD location : /dev/rdsk/c2t2d0s2
CD driver name: Solaris
access mode: SCSI
... same output as with FreeBSD and Linux ...
============================================================================
So except the need for a strndup substitute, my posted changeset seems
to be ok for Linux, FreeBSD, and Solaris.
Have a nice day :)
Thomas
- Re: [Libcdio-devel] Read Sub-channel changes,
Thomas Schmitt <=