libcdio-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]