1/* 2 * Copyright 2007-2011, Axel D��rfler, axeld@pinc-software.de. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef CDDA_H 6#define CDDA_H 7 8 9#include <scsi_cmds.h> 10 11 12static const uint32 kFramesPerSecond = 75; 13static const uint32 kFramesPerMinute = kFramesPerSecond * 60; 14static const uint32 kFrameSize = 2352; 15static const uint32 kDataTrackLeadGap = 11400; 16static const uint8 kMaxTracks = 0x63; 17 18struct cdtext { 19 cdtext(); 20 ~cdtext(); 21 22 char *artist; 23 char *album; 24 char *genre; 25 26 char *titles[kMaxTracks]; 27 char *artists[kMaxTracks]; 28 uint8 track_count; 29}; 30 31 32status_t read_cdtext(int fd, cdtext &text); 33status_t read_table_of_contents(int fd, scsi_toc_toc *toc, size_t length); 34status_t read_cdda_data(int fd, off_t endFrame, off_t offset, void *data, 35 size_t length, off_t bufferOffset, void *buffer, size_t bufferSize); 36 37#endif // CDDA_H 38