In dvdnav.c there is a few places where an assignment is made. Like at or about line 563: vts_event->new_domain = this->position_next.domain; new_domain is of type dvd_read_domain_t and looks like this: typedef enum { DVD_READ_INFO_FILE, /**< VIDEO_TS.IFO or VTS_XX_0.IFO (title) */ DVD_READ_INFO_BACKUP_FILE, /**< VIDEO_TS.BUP or VTS_XX_0.BUP (title) */ DVD_READ_MENU_VOBS, /**< VIDEO_TS.VOB or VTS_XX_0.VOB (title) */ DVD_READ_TITLE_VOBS /**< VTS_XX_[1-9].VOB (title). All files in the title set are opened and read as a single file. */ } dvd_read_domain_t; While position_next.domain is of type domain_t and looks like this: typedef enum { FP_DOMAIN = 1, VTS_DOMAIN = 2, VMGM_DOMAIN = 4, VTSM_DOMAIN = 8 } domain_t; Note how the two enums only share two distinct values. Do you think that other code elsewhere takes care to make sure that the enums are in sync? I haven't found code for this. I get the domain_t enum. But I have not yet figured out the dvd_read_domain_t enum yet. I am inclined to think that the real error here is that new_domain is the wrong type. Any opinions? E -- Erik Hovland erik@hovland.org http://hovland.org/
participants (1)
-
Erik Hovland