summaryrefslogtreecommitdiffstats
path: root/stream/vcd_read_darwin.h
diff options
context:
space:
mode:
Diffstat (limited to 'stream/vcd_read_darwin.h')
-rw-r--r--stream/vcd_read_darwin.h46
1 files changed, 11 insertions, 35 deletions
diff --git a/stream/vcd_read_darwin.h b/stream/vcd_read_darwin.h
index a81d9c481d..10430a41ae 100644
--- a/stream/vcd_read_darwin.h
+++ b/stream/vcd_read_darwin.h
@@ -50,6 +50,7 @@ typedef struct
typedef struct mp_vcd_priv_st
{
+ stream_t *stream;
int fd;
cdsector_t buf;
dk_cd_read_track_info_t entry;
@@ -79,7 +80,7 @@ static int vcd_seek_to_track(mp_vcd_priv_t* vcd, int track)
if (ioctl(vcd->fd, DKIOCCDREADTRACKINFO, &vcd->entry))
{
- mp_msg(MSGT_STREAM,MSGL_ERR,"ioctl dif1: %s\n",strerror(errno));
+ MP_ERR(vcd->stream, "ioctl dif1: %s\n",strerror(errno));
return -1;
}
vcd->msf = CDConvertLBAToMSF(be2me_32(entry.trackStartAddress));
@@ -91,8 +92,7 @@ static int vcd_get_track_end(mp_vcd_priv_t* vcd, int track)
struct CDTrackInfo entry;
if (track > vcd->hdr.lastTrackNumberInLastSessionLSB) {
- mp_msg(MSGT_OPEN, MSGL_ERR,
- "track number %d greater than last track number %d\n",
+ MP_ERR(vcd->stream, "track number %d greater than last track number %d\n",
track, vcd->hdr.lastTrackNumberInLastSessionLSB);
return -1;
}
@@ -106,7 +106,7 @@ static int vcd_get_track_end(mp_vcd_priv_t* vcd, int track)
if (ioctl(vcd->fd, DKIOCCDREADTRACKINFO, &vcd->entry))
{
- mp_msg(MSGT_STREAM,MSGL_ERR,"ioctl dif2: %s\n",strerror(errno));
+ MP_ERR(vcd->stream, "ioctl dif2: %s\n",strerror(errno));
return -1;
}
if (track == vcd->hdr.lastTrackNumberInLastSessionLSB)
@@ -117,7 +117,7 @@ static int vcd_get_track_end(mp_vcd_priv_t* vcd, int track)
return VCD_SECTOR_DATA*vcd_get_msf(vcd);
}
-static mp_vcd_priv_t* vcd_read_toc(int fd)
+static mp_vcd_priv_t* vcd_read_toc(stream_t *stream, int fd)
{
dk_cd_read_disc_info_t tochdr;
struct CDDiscInfo hdr;
@@ -127,7 +127,7 @@ static mp_vcd_priv_t* vcd_read_toc(int fd)
CDMSF trackMSF;
mp_vcd_priv_t* vcd;
- int i, min = 0, sec = 0, frame = 0;
+ int i;
//read toc header
memset(&tochdr, 0, sizeof(tochdr));
@@ -136,13 +136,11 @@ static mp_vcd_priv_t* vcd_read_toc(int fd)
if (ioctl(fd, DKIOCCDREADDISCINFO, &tochdr) < 0)
{
- mp_msg(MSGT_OPEN,MSGL_ERR,"read CDROM toc header: %s\n",strerror(errno));
+ MP_ERR(stream, "read CDROM toc header: %s\n",strerror(errno));
return NULL;
}
//print all track info
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_START_TRACK=%d\n", hdr.firstTrackNumberInLastSessionLSB);
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_END_TRACK=%d\n", hdr.lastTrackNumberInLastSessionLSB);
for (i=hdr.firstTrackNumberInLastSessionLSB ; i<=hdr.lastTrackNumberInLastSessionLSB + 1; i++)
{
if (i <= hdr.lastTrackNumberInLastSessionLSB) {
@@ -154,7 +152,7 @@ static mp_vcd_priv_t* vcd_read_toc(int fd)
if (ioctl(fd,DKIOCCDREADTRACKINFO,&tocentry)==-1)
{
- mp_msg(MSGT_OPEN,MSGL_ERR,"read CDROM toc entry: %s\n",strerror(errno));
+ MP_ERR(stream, "read CDROM toc entry: %s\n",strerror(errno));
return NULL;
}
@@ -164,9 +162,9 @@ static mp_vcd_priv_t* vcd_read_toc(int fd)
trackMSF = CDConvertLBAToMSF(be2me_32(entry.trackStartAddress)
+ be2me_32(entry.trackSize));
- //mp_msg(MSGT_OPEN,MSGL_INFO,"track %02d: adr=%d ctrl=%d format=%d %02d:%02d:%02d\n",
+ //MP_INFO(vcd->stream, "track %02d: adr=%d ctrl=%d format=%d %02d:%02d:%02d\n",
if (i<=hdr.lastTrackNumberInLastSessionLSB)
- mp_msg(MSGT_OPEN,MSGL_INFO,"track %02d: format=%d %02d:%02d:%02d\n",
+ MP_INFO(stream, "track %02d: format=%d %02d:%02d:%02d\n",
(int)tocentry.address,
//(int)tocentry.entry.addr_type,
//(int)tocentry.entry.control,
@@ -176,32 +174,10 @@ static mp_vcd_priv_t* vcd_read_toc(int fd)
(int)trackMSF.frame
);
- if (mp_msg_test(MSGT_IDENTIFY, MSGL_INFO))
- {
- if (i > hdr.firstTrackNumberInLastSessionLSB)
- {
- min = trackMSF.minute - min;
- sec = trackMSF.second - sec;
- frame = trackMSF.frame - frame;
- if ( frame < 0 )
- {
- frame += 75;
- sec --;
- }
- if ( sec < 0 )
- {
- sec += 60;
- min --;
- }
- mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_VCD_TRACK_%d_MSF=%02d:%02d:%02d\n", i - 1, min, sec, frame);
- }
- min = trackMSF.minute;
- sec = trackMSF.second;
- frame = trackMSF.frame;
- }
}
vcd = malloc(sizeof(mp_vcd_priv_t));
+ vcd->stream = stream;
vcd->fd = fd;
vcd->hdr = hdr;
vcd->msf = trackMSF;