From e0b2ee826da69cfabf809bcb94f3bc019276ae62 Mon Sep 17 00:00:00 2001 From: "R. Bernstein" Date: Wed, 16 Nov 2011 20:36:22 -0500 Subject: [PATCH] Don't error out on handling "NO PRE_EMPHASIS" in cdrdao TOC. Savannah bug #34826: --- configure.ac | 2 +- include/cdio/device.h | 4 ++-- lib/driver/image/cdrdao.c | 3 --- test/data/Makefile.am | 1 + test/data/data5.toc | 4 ++-- test/data/data6.toc | 2 +- test/data/data7.toc | 2 +- test/data/t10.toc | 8 ++++++++ test/driver/cdrdao.c.in | 8 ++++++-- 9 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 test/data/t10.toc diff --git a/configure.ac b/configure.ac index 924783da..9ef16cd9 100644 --- a/configure.ac +++ b/configure.ac @@ -654,6 +654,7 @@ AC_CONFIG_FILES([ src/cd-paranoia/doc/ja/cd-paranoia.1 \ src/cd-paranoia/doc/ja/Makefile \ src/Makefile \ + test/check_common_fn \ test/data/Makefile \ test/driver/Makefile \ test/driver/bincue.c \ @@ -662,7 +663,6 @@ AC_CONFIG_FILES([ test/testgetdevices.c \ test/testisocd2.c \ test/testpregap.c \ - test/check_common_fn \ test/Makefile \ ]) diff --git a/include/cdio/device.h b/include/cdio/device.h index 5e6b582f..71ef38b3 100644 --- a/include/cdio/device.h +++ b/include/cdio/device.h @@ -1,6 +1,6 @@ /* -*- c -*- - Copyright (C) 2005, 2006, 2008, 2009, 2010 Rocky Bernstein + Copyright (C) 2005, 2006, 2008, 2009, 2010, 2011 Rocky Bernstein This program is free software: you can redistribute it and/or modify @@ -467,7 +467,7 @@ extern "C" { /** Like cdio_have_xxx but uses an enumeration instead. */ bool cdio_have_driver (driver_id_t driver_id); - + /** Free any resources associated with p_cdio. Call this when done using p_cdio and using CD reading/control operations. diff --git a/lib/driver/image/cdrdao.c b/lib/driver/image/cdrdao.c index 318feece..9b9979e7 100644 --- a/lib/driver/image/cdrdao.c +++ b/lib/driver/image/cdrdao.c @@ -1,6 +1,4 @@ /* - $Id: cdrdao.c,v 1.27 2008/04/21 18:30:22 karl Exp $ - Copyright (C) 2004, 2005, 2006, 2007, 2008 Rocky Bernstein toc reading routine adapted from cuetools Copyright (C) 2003 Svend Sanjay Sorensen @@ -612,7 +610,6 @@ parse_tocfile (_img_private_t *cd, const char *psz_cue_name) } else if (0 == strcmp ("PRE_EMPHASIS", psz_field)) if (NULL != cd) { cd->tocent[i].flags &= ~CDIO_TRACK_FLAG_PRE_EMPHASIS; - goto err_exit; } } else { goto format_error; diff --git a/test/data/Makefile.am b/test/data/Makefile.am index 35fa1fc1..fdcc2360 100644 --- a/test/data/Makefile.am +++ b/test/data/Makefile.am @@ -37,6 +37,7 @@ check_DATA = \ t7.toc \ t8.toc \ t9.toc \ + t10.toc \ vcd2.toc \ videocd.nrg \ cdtext.toc \ diff --git a/test/data/data5.toc b/test/data/data5.toc index a3d38b9c..b9677045 100644 --- a/test/data/data5.toc +++ b/test/data/data5.toc @@ -5,9 +5,9 @@ CD_ROM_XA TRACK MODE2_FORM2 -FILE "isofs-m1.bin" 00:00:00 00:13:57 +FILE "isofs-m1.bin" 00:00:00 00:01:57 TRACK MODE2_FORM1 PREGAP 0:2:0 -FILE "isofs-m1.bin" 00:20:71 00:00:00 +FILE "isofs-m1.bin" 00:20:71 00:00:10 diff --git a/test/data/data6.toc b/test/data/data6.toc index eee4834f..029e3a6b 100644 --- a/test/data/data6.toc +++ b/test/data/data6.toc @@ -5,4 +5,4 @@ CD_ROM TRACK MODE2 -FILE "isofs-m1.bin" 00:00:00 00:13:57 +FILE "isofs-m1.bin" 00:00:00 00:01:57 diff --git a/test/data/data7.toc b/test/data/data7.toc index 61e4bea3..23f8076e 100644 --- a/test/data/data7.toc +++ b/test/data/data7.toc @@ -5,7 +5,7 @@ CD_ROM_XA TRACK MODE1 // ISO filesystem -FILE "isofs-m1.bin" 00:00:00 00:13:57 +FILE "isofs-m1.bin" 00:00:00 00:03:57 TRACK MODE2_FORM_MIX // XA track with form 1 and form 2 sectors PREGAP 0:2:0 diff --git a/test/data/t10.toc b/test/data/t10.toc new file mode 100644 index 00000000..a3a2afda --- /dev/null +++ b/test/data/t10.toc @@ -0,0 +1,8 @@ +// non default CTL flag of track 1 + +TRACK AUDIO +COPY +NO PRE_EMPHASIS +FOUR_CHANNEL_AUDIO +FILE "cdda.bin" 1:0:0 + diff --git a/test/driver/cdrdao.c.in b/test/driver/cdrdao.c.in index cd23831b..fdcffc47 100644 --- a/test/driver/cdrdao.c.in +++ b/test/driver/cdrdao.c.in @@ -44,7 +44,7 @@ #define DATA_DIR "@abs_top_srcdir@/test/data" #endif -#define NUM_GOOD_TOCS 16 +#define NUM_GOOD_TOCS 17 #define NUM_BAD_TOCS 8 int main(int argc, const char *argv[]) @@ -60,6 +60,7 @@ main(int argc, const char *argv[]) "t7.toc", "t8.toc", "t9.toc", + "t10.toc", "data1.toc", "data2.toc", "data5.toc", @@ -92,13 +93,16 @@ main(int argc, const char *argv[]) cdio_loglevel_default = verbose ? CDIO_LOG_DEBUG : CDIO_LOG_WARN; for (i=0; i