diff dvdnav_events.h @ 114:b6834e6359cf src

big libdvdnav cleanup, quoting the ChangeLog: * some bugfixes * code cleanup * build process polishing * more sensible event order in get_next_block to ensure useful event delivery * VOBU level resume * fixed: seeking in a multiangle feature briefly showed the wrong angle
author mroi
date Thu, 20 Feb 2003 15:32:21 +0000
parents 5674fbd44f26
children 4d711d0518e9
line wrap: on
line diff
--- a/dvdnav_events.h	Mon Jan 13 13:33:45 2003 +0000
+++ b/dvdnav_events.h	Thu Feb 20 15:32:21 2003 +0000
@@ -35,21 +35,19 @@
 
 /*** EVENTS ***/
 
-#define DVDNAV_BLOCK_OK     0 /*!< The next black was returned */
-#define DVDNAV_NOP          1 /*!< No action should be taken   */
-#define DVDNAV_STILL_FRAME  2 /*!< The preceeding block was the last in a 
-				 still frame. */
-#define DVDNAV_SPU_STREAM_CHANGE    3 /*!< The SPU stream was changed */
-#define DVDNAV_AUDIO_STREAM_CHANGE  4 /*!< The Audio stream was changed */
-#define DVDNAV_VTS_CHANGE   5 /*!< We have changed VTS */ 
-#define DVDNAV_CELL_CHANGE  6 /*!< We have jumped to a new cell */
-#define DVDNAV_NAV_PACKET   7 /*!< The packet just passed was the NAV packet */
-#define DVDNAV_STOP         8 /*!< The last block was final, no more are coming */
-#define DVDNAV_HIGHLIGHT    9 /*!< Change highlight region */
-#define DVDNAV_SPU_CLUT_CHANGE 10 /*!< SPU CLUT */
-#define DVDNAV_SEEK_DONE    11 /*!< Seek done, subtitles should be reset */
-#define DVDNAV_HOP_CHANNEL  12 /*!< Sent when non-seemless stream change has happed 
-                                E.g. Menu button pressed causing change in menu */
+#define DVDNAV_BLOCK_OK			 0 /*!< The next block was returned */
+#define DVDNAV_NOP			 1 /*!< No action should be taken */
+#define DVDNAV_STILL_FRAME		 2 /*!< The preceeding block was the last in a still frame */
+#define DVDNAV_SPU_STREAM_CHANGE	 3 /*!< The SPU stream was changed */
+#define DVDNAV_AUDIO_STREAM_CHANGE	 4 /*!< The Audio stream was changed */
+#define DVDNAV_VTS_CHANGE		 5 /*!< We have changed VTS */ 
+#define DVDNAV_CELL_CHANGE		 6 /*!< We have jumped to a new cell */
+#define DVDNAV_NAV_PACKET		 7 /*!< The packet just passed was a NAV packet */
+#define DVDNAV_STOP			 8 /*!< The last block was final, no more are coming */
+#define DVDNAV_HIGHLIGHT		 9 /*!< Change highlight region */
+#define DVDNAV_SPU_CLUT_CHANGE		10 /*!< SPU CLUT changed */
+#define DVDNAV_HOP_CHANNEL		12 /*!< Sent when non-seemless stream change has happed */
+
 
 /*** EVENT TYPES ***/
 
@@ -60,17 +58,17 @@
   int length;   /*!<
 		  The length (in seconds) the still frame
 		  should be displayed for, or 0xff if
-		  indefinate. */
+		  indefinite. */
 } dvdnav_still_event_t;
 
 /**
  * Structure providing information on DVDNAV_SPU_STREAM_CHANGE events.
  */
 typedef struct {
-  int physical_wide; /*!< The physical (MPEG) stream number for widescreen display. */
+  int physical_wide;      /*!< The physical (MPEG) stream number for widescreen display. */
   int physical_letterbox; /*!< The physical (MPEG) stream number for letterboxed display. */
-  int physical_pan_scan; /*!< The physical (MPEG) stream number for pan&scan display. */
-  int logical;  /*!< The logical (DVD) stream number.   */
+  int physical_pan_scan;  /*!< The physical (MPEG) stream number for pan&scan display. */
+  int logical;            /*!< The logical (DVD) stream number. */
 } dvdnav_spu_stream_change_event_t;
 
 /**
@@ -85,18 +83,20 @@
  * Structure providing information on DVDNAV_VTS_CHANGE events.
  */
 typedef struct {
-  int old_vtsN; /*!< The old VTS number */
+  int old_vtsN;                 /*!< The old VTS number */
   dvd_read_domain_t old_domain; /*!< The old domain */
-  int new_vtsN; /*!< The new VTS number */
+  int new_vtsN;                 /*!< The new VTS number */
   dvd_read_domain_t new_domain; /*!< The new domain */
 } dvdnav_vts_change_event_t;
 
+/* FIXME: These are unused. */
+#if 0
 /**
  * Structure providing information on DVDNAV_CELL_CHANGE events.
  */
 typedef struct {
   cell_playback_t *old_cell; /*!< The old cell (or NULL if this is 
-				the first cell) */
+				  the first cell) */
   cell_playback_t *new_cell; /*!< The cell_playback_t for the new cell */
 } dvdnav_cell_change_event_t;
 
@@ -107,15 +107,18 @@
   pci_t *pci;
   dsi_t *dsi;
 } dvdnav_nav_packet_event_t;
+#endif
 
 /**
  * Structure providing information on DVDNAV_HIGHLIGHT events.
+ * The event only fills in display and buttonN.
+ * The rest can be get with dvdnav_get_highlight_area().
  */
 typedef struct {
-  int display; /*!< 0 - hide, 1 - show, entries below only guaranteed useful
-		  if this is '1' */
-  uint32_t palette;  /*!< The CLUT entries for the highlight palette 
-                        (4-bits per entry -> 4 entries) */
+  int display;          /*!< 0 - hide, 1 - show, entries below only guaranteed useful
+						 if this is '1' */
+  uint32_t palette;     /*!< The CLUT entries for the highlight palette 
+			     (4-bits per entry -> 4 entries) */
   uint16_t sx,sy,ex,ey; /*!< The start/end x,y positions */
   uint32_t pts;         /*!< Highlight PTS to match with SPU */
   uint32_t buttonN;     /*!< Button number for the SPU decoder. */