diff options
Diffstat (limited to 'stream/stream_dvdnav.c')
-rw-r--r-- | stream/stream_dvdnav.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c index 8893c6becc..641a8ad676 100644 --- a/stream/stream_dvdnav.c +++ b/stream/stream_dvdnav.c @@ -179,6 +179,11 @@ static int dvdnav_stream_read(dvdnav_priv_t * priv, unsigned char *buf, int *len priv->duration = ev->pgc_length/90; break; } + case DVDNAV_SPU_CLUT_CHANGE: { + memcpy(priv->spu_clut, buf, 16*sizeof(unsigned int)); + priv->spu_set = 1; + break; + } case DVDNAV_WAIT: dvdnav_wait_skip(priv->dvdnav); break; @@ -511,6 +516,12 @@ int dvdnav_number_of_subs(stream_t *stream) { return n; } +unsigned int *mp_dvdnav_get_spu_clut(stream_t *stream) { + dvdnav_priv_t *priv=(dvdnav_priv_t*)stream->priv; + if(!priv->spu_set) return NULL; + return priv->spu_clut; +} + void mp_dvdnav_get_highlight (stream_t *stream, nav_highlight_t *hl) { dvdnav_priv_t *priv = (dvdnav_priv_t *) stream->priv; dvdnav_highlight_event_t hlev = priv->hlev; |