libcdio-paranoia
10.2+0.94+2git
|
#include <stdio.h>
#include <limits.h>
#include "p_block.h"
#include <cdio/paranoia/cdda.h>
#include <cdio/paranoia/paranoia.h>
linked_element* add_elem | ( | linked_list_t * | l, |
void * | elem | ||
) |
References linked_list_t::active, linked_list_t::current, linked_list_t::head, linked_element::list, linked_element::next, NULL, linked_element::prev, linked_element::ptr, linked_element::stamp, and linked_list_t::tail.
Referenced by copy_list(), and new_elem().
c_block_t* c_alloc | ( | int16_t * | vector, |
long | begin, | ||
long | size | ||
) |
References c_block::begin, c_block::size, and c_block::vector.
void c_append | ( | c_block_t * | v, |
int16_t * | vector, | ||
long | size | ||
) |
References cs, c_block::size, and c_block::vector.
c_block_t* c_first | ( | cdrom_paranoia_t * | p | ) |
References cdrom_paranoia_s::cache, linked_list_t::head, NULL, and linked_element::ptr.
Referenced by i_paranoia_trim(), offset_adjust_settings(), and paranoia_resetcache().
void c_insert | ( | c_block_t * | v, |
long | pos, | ||
int16_t * | b, | ||
long | size | ||
) |
References cs, c_block::size, and c_block::vector.
c_block_t* c_last | ( | cdrom_paranoia_t * | p | ) |
References cdrom_paranoia_s::cache, NULL, linked_element::ptr, and linked_list_t::tail.
Referenced by recover_cache().
References c_block::e, linked_element::next, NULL, and linked_element::ptr.
Referenced by i_paranoia_trim(), and offset_adjust_settings().
void c_overwrite | ( | c_block_t * | v, |
long | pos, | ||
int16_t * | b, | ||
long | size | ||
) |
References cs, and c_block::vector.
References c_block::e, NULL, linked_element::prev, and linked_element::ptr.
void c_remove | ( | c_block_t * | v, |
long | cutpos, | ||
long | cutsize | ||
) |
References cs, c_block::size, and c_block::vector.
Referenced by c_removef().
void c_removef | ( | c_block_t * | v, |
long | cut | ||
) |
References c_block::begin, and c_remove().
Referenced by i_paranoia_trim().
void c_set | ( | c_block_t * | v, |
long | begin | ||
) |
References c_block::begin.
Referenced by offset_adjust_settings().
linked_list_t* copy_list | ( | linked_list_t * | list | ) |
void free_c_block | ( | c_block_t * | c | ) |
References c_block::e, free_elem(), free_v_fragment(), v_fragment_s::one, c_block::p, v_first(), and v_next().
Referenced by i_paranoia_trim(), paranoia_resetcache(), paranoia_seek(), and recover_cache().
void free_elem | ( | linked_element * | e, |
int | free_ptr | ||
) |
void free_list | ( | linked_list_t * | list, |
int | free_ptr | ||
) |
References free_elem(), and linked_list_t::head.
Referenced by paranoia_free().
void free_v_fragment | ( | v_fragment_t * | v | ) |
References v_fragment_s::e, and free_elem().
Referenced by free_c_block(), and paranoia_resetcache().
void* get_elem | ( | linked_element * | e | ) |
References linked_element::ptr.
void i_cblock_destructor | ( | c_block_t * | c | ) |
References c_block::e, c_block::flags, NULL, and c_block::vector.
Referenced by cdio_paranoia_read_limited(), i_paranoia_trim(), paranoia_init(), paranoia_resetall(), and paranoia_seek().
void i_paranoia_firstlast | ( | cdrom_paranoia_t * | p | ) |
Get the beginning and ending sector bounds given cursor position.
There are a couple of subtle differences between this and the cdda_firsttrack_sector and cdda_lasttrack_sector. If the cursor is an a sector later than cdda_firsttrack_sector, that sectur will be used. As for the difference between cdda_lasttrack_sector, if the CD is mixed and there is a data track after the cursor but before the last audio track, the end of the audio sector before that is used.
References cdda_disc_firstsector(), cdda_disc_lastsector(), cdda_sector_gettrack(), cdda_track_audiop(), cdda_track_firstsector(), cdda_track_lastsector(), cdrom_paranoia_s::current_firstsector, cdrom_paranoia_s::current_lastsector, cdrom_paranoia_s::cursor, cdrom_paranoia_s::d, and cdrom_drive_s::p_cdio.
Referenced by paranoia_init(), and paranoia_seek().
c_block_t* new_c_block | ( | cdrom_paranoia_t * | p | ) |
References cdrom_paranoia_s::cache, c_block::e, new_elem(), c_block::p, and linked_element::ptr.
Referenced by paranoia_seek().
linked_element* new_elem | ( | linked_list_t * | p_list | ) |
References add_elem(), and linked_list_t::new_poly.
Referenced by new_c_block(), and new_v_fragment().
linked_list_t* new_list | ( | void *(*)(void) | newp, |
void(*)(void *) | freep | ||
) |
References linked_list_t::free_poly, and linked_list_t::new_poly.
Referenced by copy_list(), and paranoia_init().
v_fragment_t* new_v_fragment | ( | cdrom_paranoia_t * | p, |
c_block_t * | one, | ||
long int | begin, | ||
long int | end, | ||
int | last | ||
) |
int paranoia_cachemodel_size | ( | cdrom_paranoia_t * | p, |
int | sectors | ||
) |
References cdrom_paranoia_s::cdcache_size.
Referenced by analyze_cache().
cdrom_paranoia_t* paranoia_init | ( | cdrom_drive_t * | d | ) |
References cdrom_paranoia_s::cache, cdrom_paranoia_s::cache_limit, CACHEMODEL_SECTORS, CD_FRAMEWORDS, cdrom_paranoia_s::cdcache_begin, cdrom_paranoia_s::cdcache_end, cdrom_paranoia_s::cdcache_size, cdda_disc_firstsector(), cdrom_paranoia_s::cursor, cdrom_paranoia_s::d, cdrom_paranoia_s::dynoverlap, cdrom_paranoia_s::enable, cdrom_paranoia_s::fragments, i_cblock_destructor(), i_paranoia_firstlast(), JIGGLE_MODULO, MAX_SECTOR_OVERLAP, new_list(), PARANOIA_MODE_FULL, sort_alloc(), and cdrom_paranoia_s::sortcache.
Referenced by analyze_cache(), and main().
void paranoia_set_range | ( | cdrom_paranoia_t * | p, |
long | start, | ||
long | end | ||
) |
void recover_cache | ( | cdrom_paranoia_t * | p | ) |
References linked_list_t::active, c_last(), cdrom_paranoia_s::cache, cdrom_paranoia_s::cache_limit, and free_c_block().
Referenced by cdio_paranoia_read_limited(), and paranoia_seek().
int16_t* v_buffer | ( | v_fragment_t * | v | ) |
References cv, NULL, v_fragment_s::one, and v_fragment_s::vector.
v_fragment_t* v_first | ( | cdrom_paranoia_t * | p | ) |
References cdrom_paranoia_s::fragments, linked_list_t::head, NULL, and linked_element::ptr.
Referenced by free_c_block(), offset_adjust_settings(), and paranoia_resetcache().
v_fragment_t* v_last | ( | cdrom_paranoia_t * | p | ) |
References cdrom_paranoia_s::fragments, NULL, linked_element::ptr, and linked_list_t::tail.
v_fragment_t* v_next | ( | v_fragment_t * | v | ) |
References v_fragment_s::e, linked_element::next, NULL, and linked_element::ptr.
Referenced by free_c_block(), and offset_adjust_settings().
v_fragment_t* v_prev | ( | v_fragment_t * | v | ) |
References v_fragment_s::e, NULL, linked_element::prev, and linked_element::ptr.