Mercurial > mplayer.hg
view stream/stream_dvd_common.c @ 27904:f6d60ccb095f
Use 64 bit numbers for file positions in the seek function in audio demuxer.
Hopefully fixes seeking in wav files in-between 2 and 4 GB.
author | reimar |
---|---|
date | Sun, 16 Nov 2008 10:20:58 +0000 |
parents | ea01824701a5 |
children | 83266d299072 |
line wrap: on
line source
#include "config.h" #include <inttypes.h> #ifdef CONFIG_DVDREAD_INTERNAL #include "libdvdread/ifo_types.h" #else #include <dvdread/ifo_types.h> #endif #include "stream_dvd_common.h" /** \brief Converts DVD time structure to milliseconds. \param *dev the DVD time structure to convert \return returns the time in milliseconds */ int mp_dvdtimetomsec(dvd_time_t *dt) { static int framerates[4] = {0, 2500, 0, 2997}; int framerate = framerates[(dt->frame_u & 0xc0) >> 6]; int msec = (((dt->hour & 0xf0) >> 3) * 5 + (dt->hour & 0x0f)) * 3600000; msec += (((dt->minute & 0xf0) >> 3) * 5 + (dt->minute & 0x0f)) * 60000; msec += (((dt->second & 0xf0) >> 3) * 5 + (dt->second & 0x0f)) * 1000; if(framerate > 0) msec += (((dt->frame_u & 0x30) >> 3) * 5 + (dt->frame_u & 0x0f)) * 100000 / framerate; return msec; }