libcdio-paranoia 10.2+2.0.2
|
The top-level header for libcdda_paranoia: a device- and OS- independent library for reading CD-DA with error tolerance and repair. Applications include this for paranoia access. More...
#include <cdio/paranoia/cdda.h>
Go to the source code of this file.
Macros | |
#define | CD_FRAMEWORDS (CDIO_CD_FRAMESIZE_RAW/2) |
#define | cdrom_paranoia cdrom_paranoia_t |
#define | paranoia_version cdio_paranoia_version |
#define | paranoia_init cdio_paranoia_init |
#define | paranoia_free cdio_paranoia_free |
#define | paranoia_modeset cdio_paranoia_modeset |
#define | paranoia_seek cdio_paranoia_seek |
#define | paranoia_read cdio_paranoia_read |
#define | paranoia_read_limited cdio_paranoia_read_limited |
#define | paranoia_overlapset cdio_paranoia_overlapset |
#define | paranoia_set_range cdio_paranoia_set_range |
#define | paranoia_cachemodel_size cdio_paranoia_cachemodel_size |
Enumerations | |
enum | paranoia_mode_t { PARANOIA_MODE_DISABLE = 0x00 , PARANOIA_MODE_VERIFY = 0x01 , PARANOIA_MODE_FRAGMENT = 0x02 , PARANOIA_MODE_OVERLAP = 0x04 , PARANOIA_MODE_SCRATCH = 0x08 , PARANOIA_MODE_REPAIR = 0x10 , PARANOIA_MODE_NEVERSKIP = 0x20 , PARANOIA_MODE_FULL = 0xff } |
enum | paranoia_cb_mode_t { PARANOIA_CB_READ , PARANOIA_CB_VERIFY , PARANOIA_CB_FIXUP_EDGE , PARANOIA_CB_FIXUP_ATOM , PARANOIA_CB_SCRATCH , PARANOIA_CB_REPAIR , PARANOIA_CB_SKIP , PARANOIA_CB_DRIFT , PARANOIA_CB_BACKOFF , PARANOIA_CB_OVERLAP , PARANOIA_CB_FIXUP_DROPPED , PARANOIA_CB_FIXUP_DUPED , PARANOIA_CB_READERR , PARANOIA_CB_CACHEERR , PARANOIA_CB_WROTE , PARANOIA_CB_FINISHED } |
Functions | |
const char * | cdio_paranoia_version (void) |
cdrom_paranoia_t * | cdio_paranoia_init (cdrom_drive_t *d) |
void | cdio_paranoia_free (cdrom_paranoia_t *p) |
void | cdio_paranoia_modeset (cdrom_paranoia_t *p, int mode_flags) |
lsn_t | cdio_paranoia_seek (cdrom_paranoia_t *p, int32_t seek, int whence) |
int16_t * | cdio_paranoia_read (cdrom_paranoia_t *p, void(*callback)(long int, paranoia_cb_mode_t)) |
int16_t * | cdio_paranoia_read_limited (cdrom_paranoia_t *p, void(*callback)(long int, paranoia_cb_mode_t), int max_retries) |
void | cdio_paranoia_overlapset (cdrom_paranoia_t *p, long overlap) |
void | cdio_paranoia_set_range (cdrom_paranoia_t *p, long int start, long int end) |
int | cdio_paranoia_cachemodel_size (cdrom_paranoia_t *p, int sectors) |
Variables | |
const char * | paranoia_cb_mode2str [] |
paranoia_mode_t | debug_paranoia_mode |
paranoia_cb_mode_t | debug_paranoia_cb_mode |
The top-level header for libcdda_paranoia: a device- and OS- independent library for reading CD-DA with error tolerance and repair. Applications include this for paranoia access.
#define CD_FRAMEWORDS (CDIO_CD_FRAMESIZE_RAW/2) |
Paranoia likes to work with 16-bit numbers rather than (possibly byte-swapped) bytes. So there are this many 16-bit numbers block (frame, or sector) read.
#define cdrom_paranoia cdrom_paranoia_t |
For compatibility with good ol' paranoia
#define paranoia_cachemodel_size cdio_paranoia_cachemodel_size |
#define paranoia_free cdio_paranoia_free |
#define paranoia_init cdio_paranoia_init |
#define paranoia_modeset cdio_paranoia_modeset |
#define paranoia_overlapset cdio_paranoia_overlapset |
#define paranoia_read cdio_paranoia_read |
#define paranoia_read_limited cdio_paranoia_read_limited |
#define paranoia_seek cdio_paranoia_seek |
#define paranoia_set_range cdio_paranoia_set_range |
#define paranoia_version cdio_paranoia_version |
enum paranoia_cb_mode_t |
Flags set in a callback.
The enumeration type one probably wouldn't really use in a program. It is here instead of defines to give symbolic names that can be helpful in debuggers where wants just to say refer to PARANOIA_CB_READ and get the correct value.
enum paranoia_mode_t |
Flags used in paranoia_modeset.
The enumeration type one probably wouldn't really use in a program. It is here instead of defines to give symbolic names that can be helpful in debuggers where wants just to say refer to PARANOIA_MODE_DISABLE and get the correct value.
int cdio_paranoia_cachemodel_size | ( | cdrom_paranoia_t * | p, |
int | sectors | ||
) |
Set or query the number of sectors used for paranoia cache modelling.
p | paranoia object |
sectors | number of sectors to use, default is 1200 (pass -1 to query current model size without setting a new value) |
void cdio_paranoia_free | ( | cdrom_paranoia_t * | p | ) |
Free any resources associated with p.
p | paranoia object to for which resources are to be freed. |
cdrom_paranoia_t * cdio_paranoia_init | ( | cdrom_drive_t * | d | ) |
Get and initialize a new cdrom_paranoia object from cdrom_drive. Run this before calling any of the other paranoia routines below.
void cdio_paranoia_modeset | ( | cdrom_paranoia_t * | p, |
int | mode_flags | ||
) |
Set the kind of repair you want to on for reading. The modes are listed above
p | paranoia type |
mode_flags | paranoia mode flags built from values in paranoia_mode_t, e.g. PARANOIA_MODE_FULL^PARANOIA_MODE_NEVERSKIP |
void cdio_paranoia_overlapset | ( | cdrom_paranoia_t * | p, |
long | overlap | ||
) |
a temporary hack
int16_t * cdio_paranoia_read | ( | cdrom_paranoia_t * | p, |
void(*)(long int, paranoia_cb_mode_t) | callback | ||
) |
Reads the next sector of audio data and returns a pointer to a full sector of verified samples.
p | paranoia object. |
callback | callback routine which gets called with the status on each read. |
int16_t * cdio_paranoia_read_limited | ( | cdrom_paranoia_t * | p, |
void(*)(long int, paranoia_cb_mode_t) | callback, | ||
int | max_retries | ||
) |
The same as cdio_paranoia_read but the number of retries is set.
p | paranoia object. |
callback | callback routine which gets called with the status on each read. |
max_retries | number of times to try re-reading a block before failing. |
lsn_t cdio_paranoia_seek | ( | cdrom_paranoia_t * | p, |
int32_t | seek, | ||
int | whence | ||
) |
reposition reading offset.
p | paranoia type |
seek | byte offset to seek to |
whence | like corresponding parameter in libc's lseek, e.g. SEEK_SET or SEEK_END. |
void cdio_paranoia_set_range | ( | cdrom_paranoia_t * | p, |
long int | start, | ||
long int | end | ||
) |
const char * cdio_paranoia_version | ( | void | ) |
|
extern |
|
extern |
The below variables are trickery to force the above enum symbol values to be recorded in debug symbol tables. They are used to allow one to refer to the enumeration value names in the typedefs above in a debugger and debugger expressions
|
extern |