28 #if HAVE_CDIO_PARANOIA_H 
   29 #include <cdio/cdda.h> 
   30 #include <cdio/paranoia.h> 
   31 #elif HAVE_CDIO_PARANOIA_PARANOIA_H 
   32 #include <cdio/paranoia/cdda.h> 
   33 #include <cdio/paranoia/paranoia.h> 
   63     s->
drive = cdio_cddap_identify(ctx->
filename, CDDA_MESSAGE_LOGIT, &err);
 
   72     if ((ret = cdio_cddap_open(s->
drive)) < 0 || !s->
drive->opened) {
 
   77     cdio_cddap_verbose_set(s->
drive, CDDA_MESSAGE_LOGIT, CDDA_MESSAGE_LOGIT);
 
   89     if (s->
drive->bigendianp)
 
   95     if (s->
drive->audio_last_sector != CDIO_INVALID_LSN &&
 
   96         s->
drive->audio_first_sector != CDIO_INVALID_LSN)
 
   98     else if (s->
drive->tracks)
 
  102     for (i = 0; i < s->
drive->tracks; i++) {
 
  104         snprintf(title, 
sizeof(title), 
"track %02d", s->
drive->disc_toc[i].bTrack);
 
  106                        s->
drive->disc_toc[i+1].dwStartSector, title);
 
  128     if (err = cdio_cddap_errors(s->
drive)) {
 
  133     if (err = cdio_cddap_messages(s->
drive)) {
 
  141     memcpy(pkt->
data, buf, CDIO_CD_FRAMESIZE_RAW);
 
  149     cdio_cddap_close(s->
drive);
 
  159     cdio_paranoia_seek(s->
paranoia, timestamp, SEEK_SET);
 
  164 #define OFFSET(x) offsetof(CDIOContext, x) 
  165 #define DEC AV_OPT_FLAG_DECODING_PARAM 
  168     { 
"paranoia_mode",      
"set error recovery mode", 
OFFSET(paranoia_mode), 
AV_OPT_TYPE_FLAGS, { .i64 = PARANOIA_MODE_DISABLE }, INT_MIN, INT_MAX, 
DEC, 
"paranoia_mode" },
 
  169         { 
"disable",        
"apply no fixups",                      0,    
AV_OPT_TYPE_CONST, { .i64 = PARANOIA_MODE_DISABLE },   0, 0, 
DEC, 
"paranoia_mode" },
 
  170         { 
"verify",         
"verify data integrity in overlap area", 0,   
AV_OPT_TYPE_CONST, { .i64 = PARANOIA_MODE_VERIFY },    0, 0, 
DEC, 
"paranoia_mode" },
 
  171         { 
"overlap",        
"perform overlapped reads",             0,    
AV_OPT_TYPE_CONST, { .i64 = PARANOIA_MODE_OVERLAP },   0, 0, 
DEC, 
"paranoia_mode" },
 
  172         { 
"neverskip",      
"do not skip failed reads",             0,    
AV_OPT_TYPE_CONST, { .i64 = PARANOIA_MODE_NEVERSKIP }, 0, 0, 
DEC, 
"paranoia_mode" },
 
  173         { 
"full",           
"apply all recovery modes",             0,    
AV_OPT_TYPE_CONST, { .i64 = PARANOIA_MODE_FULL },      0, 0, 
DEC, 
"paranoia_mode" },
 
  193     .priv_class     = &libcdio_class,
 
#define LIBAVUTIL_VERSION_INT
Memory handling functions. 
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
enum AVCodecID codec_id
Specific type of the encoded data (the codec used). 
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file. 
AVStream ** streams
A list of all streams in the file. 
#define AVERROR_EOF
End of file. 
static av_cold int read_close(AVFormatContext *ctx)
#define AV_LOG_VERBOSE
Detailed information. 
int av_new_packet(AVPacket *pkt, int size)
Allocate the payload of a packet and initialize its fields with default values. 
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered. 
enum AVMediaType codec_type
General type of the encoded data. 
char filename[1024]
input or output filename 
static av_cold int read_header(AVFormatContext *ctx)
static const AVOption options[]
static int read_packet(AVFormatContext *ctx, AVPacket *pkt)
Describe the class of an AVClass context structure. 
int64_t duration
Decoding: duration of the stream, in stream time base. 
int sample_rate
Audio only. 
cdrom_paranoia_t * paranoia
void * priv_data
Format private data. 
AVCodecParameters * codecpar
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented...
This structure stores compressed data. 
AVInputFormat ff_libcdio_demuxer
static const AVClass libcdio_class