Mercurial > mplayer.hg
comparison stream/stream_dvdnav.c @ 25827:3fc9f549b5d0
remove the spu_set field, replaced by a flag
author | ben |
---|---|
date | Sat, 26 Jan 2008 13:06:42 +0000 |
parents | d8ed72fc61f8 |
children | 8a1627f693a6 |
comparison
equal
deleted
inserted
replaced
25826:d8ed72fc61f8 | 25827:3fc9f549b5d0 |
---|---|
27 NAV_FLAG_WAIT_SKIP = 1 << 2, /* wait skip disable */ | 27 NAV_FLAG_WAIT_SKIP = 1 << 2, /* wait skip disable */ |
28 NAV_FLAG_CELL_CHANGED = 1 << 3, /* cell change event */ | 28 NAV_FLAG_CELL_CHANGED = 1 << 3, /* cell change event */ |
29 NAV_FLAG_WAIT_READ_AUTO = 1 << 4, /* wait read auto mode */ | 29 NAV_FLAG_WAIT_READ_AUTO = 1 << 4, /* wait read auto mode */ |
30 NAV_FLAG_WAIT_READ = 1 << 5, /* suspend read from stream */ | 30 NAV_FLAG_WAIT_READ = 1 << 5, /* suspend read from stream */ |
31 NAV_FLAG_VTS_DOMAIN = 1 << 6, /* vts domain */ | 31 NAV_FLAG_VTS_DOMAIN = 1 << 6, /* vts domain */ |
32 NAV_FLAG_SPU_SET = 1 << 7, /* spu_clut is valid */ | |
32 } dvdnav_state_t; | 33 } dvdnav_state_t; |
33 | 34 |
34 typedef struct { | 35 typedef struct { |
35 dvdnav_t * dvdnav; /* handle to libdvdnav stuff */ | 36 dvdnav_t * dvdnav; /* handle to libdvdnav stuff */ |
36 char * filename; /* path */ | 37 char * filename; /* path */ |
37 unsigned int duration; /* in milliseconds */ | 38 unsigned int duration; /* in milliseconds */ |
38 int mousex, mousey; | 39 int mousex, mousey; |
39 int title; | 40 int title; |
40 unsigned int spu_clut[16], spu_set; | 41 unsigned int spu_clut[16]; |
41 dvdnav_highlight_event_t hlev; | 42 dvdnav_highlight_event_t hlev; |
42 int still_length; /* still frame duration */ | 43 int still_length; /* still frame duration */ |
43 unsigned int state; | 44 unsigned int state; |
44 } dvdnav_priv_t; | 45 } dvdnav_priv_t; |
45 | 46 |
217 | 218 |
218 break; | 219 break; |
219 } | 220 } |
220 case DVDNAV_SPU_CLUT_CHANGE: { | 221 case DVDNAV_SPU_CLUT_CHANGE: { |
221 memcpy(priv->spu_clut, buf, 16*sizeof(unsigned int)); | 222 memcpy(priv->spu_clut, buf, 16*sizeof(unsigned int)); |
222 priv->spu_set = 1; | 223 priv->state |= NAV_FLAG_SPU_SET; |
223 break; | 224 break; |
224 } | 225 } |
225 case DVDNAV_WAIT: { | 226 case DVDNAV_WAIT: { |
226 if ((priv->state & NAV_FLAG_WAIT_SKIP) && | 227 if ((priv->state & NAV_FLAG_WAIT_SKIP) && |
227 !(priv->state & NAV_FLAG_WAIT)) | 228 !(priv->state & NAV_FLAG_WAIT)) |
803 * \param stream: - stream pointer | 804 * \param stream: - stream pointer |
804 * \return spu clut pointer | 805 * \return spu clut pointer |
805 */ | 806 */ |
806 unsigned int *mp_dvdnav_get_spu_clut(stream_t *stream) { | 807 unsigned int *mp_dvdnav_get_spu_clut(stream_t *stream) { |
807 dvdnav_priv_t *priv=(dvdnav_priv_t*)stream->priv; | 808 dvdnav_priv_t *priv=(dvdnav_priv_t*)stream->priv; |
808 if(!priv->spu_set) return NULL; | 809 if (!(priv->state & NAV_FLAG_SPU_SET)) return NULL; |
809 return priv->spu_clut; | 810 return priv->spu_clut; |
810 } | 811 } |
811 | 812 |
812 /** | 813 /** |
813 * \brief mp_dvdnav_get_highlight() get dvdnav highlight struct | 814 * \brief mp_dvdnav_get_highlight() get dvdnav highlight struct |