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