dae.c revision 0c83a891bb3029b854c3ebe4d0467b839a68fa49
2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License, Version 1.0 only 2N/A * (the "License"). You may not use this file except in compliance 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 2N/A * Use is subject to license terms. 2N/A#
pragma ident "%Z%%M% %I% %E% SMI" 2N/A * These are routines for extracting audio from a cd. During 2N/A * extraction we will also convert the audio type from the 2N/A * CD to the audio type specified on the command line. This 2N/A * handles both newer CD drives which support the MMC2 standard 2N/A * and older Sun Toshiba drives which need jitter correction. 2N/A "Cannot understand file extension for %s\n"),
* Older drives use different data buffer and m:s:f channels to transmit audio * information. These channels may not be in sync with each other with the * maximum disparity being the size of the data buffer. So handling is needed * to keep these two channels in sync. * It is good to do small sized I/Os as we have seen many devices * choke with large I/Os. But if the device does not support * reading accurate CDDA then we have to do overlapped I/Os * and reducing size might affect performance. So use small * I/O size if device supports accurate CDDA. /* Even when we need jitter correction, this will be 0 1st time */ /* set up signal handler to write audio TOC if ^C is pressed */ /* if the speed option given, try to change the speed */ "Speed set to closest approximation "));
"of %dX allowed by device (%dX).\n"),
(
void)
printf(
"\nStarting: %d Ending: %d\n",
/* update progress indicator */ * Make sure we don't read more blocks than the maximum * This drive supports accurate audio extraction don't "jitter control failed\n");
/* recover if jitter correction failed */