summaryrefslogtreecommitdiffstats
path: root/stream/dvdnav_stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'stream/dvdnav_stream.h')
-rw-r--r--stream/dvdnav_stream.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/stream/dvdnav_stream.h b/stream/dvdnav_stream.h
new file mode 100644
index 0000000000..fdea2d97f6
--- /dev/null
+++ b/stream/dvdnav_stream.h
@@ -0,0 +1,46 @@
+#ifndef _MPLAYER_DVDNAV_STREAM_H
+#define _MPLAYER_DVDNAV_STREAM_H
+
+#include <dvdnav.h>
+
+typedef struct {
+ int event; /* event number fromd dvdnav_events.h */
+ void * details; /* event details */
+ int len; /* bytes in details */
+} dvdnav_event_t;
+
+typedef struct {
+ dvdnav_t * dvdnav; /* handle to libdvdnav stuff */
+ char * filename; /* path */
+ int ignore_timers; /* should timers be skipped? */
+ int sleeping; /* are we sleeping? */
+ unsigned int sleep_until; /* timer */
+ int started; /* Has mplayer initialization finished? */
+ unsigned char prebuf[STREAM_BUFFER_SIZE]; /* prefill buffer */
+ int prelen; /* length of prefill buffer */
+} dvdnav_priv_t;
+
+extern int dvd_nav_still;
+extern int dvd_nav_skip_opening;
+extern char dvd_nav_text[50];
+extern int osd_show_dvd_nav_delay;
+extern int osd_show_dvd_nav_highlight;
+extern int osd_show_dvd_nav_sx;
+extern int osd_show_dvd_nav_ex;
+extern int osd_show_dvd_nav_sy;
+extern int osd_show_dvd_nav_ey;
+
+dvdnav_priv_t * new_dvdnav_stream(char * filename);
+int dvdnav_stream_reset(dvdnav_priv_t * dvdnav_priv);
+void free_dvdnav_stream(dvdnav_priv_t * dvdnav_priv);
+
+void dvdnav_stream_ignore_timers(dvdnav_priv_t * dvdnav_priv, int ignore);
+int dvdnav_stream_read(dvdnav_priv_t * dvdnav_priv, unsigned char *buf, int *len);
+
+void dvdnav_stream_sleep(dvdnav_priv_t *dvdnav_priv, int seconds);
+int dvdnav_stream_sleeping(dvdnav_priv_t * dvdnav_priv);
+
+void dvdnav_stream_fullstart(dvdnav_priv_t *dvdnav_priv);
+unsigned int * dvdnav_stream_get_palette(dvdnav_priv_t * dvdnav_priv);
+
+#endif