attached is my patch which adds DVD (IFO) support based on libdvdread4 (http://dvdnav.mplayerhq.hu/) as a proof of concept.
this allows to play DVD movies (especially series) with selection of different VOB titles.
some parts of my code are based on lsdvd.c (http://sourceforge.net/projects/lsdvd/)
the code has been tested with libdvdread 4.1.3-10 from squeeze-backports and a Sony Bravia KDL-46EX725 TV.
IFO support is archived as follows:
- search for VIDEO_TS.IFO
- parse VIDEO_TS.IFO with libdvdread4 and get the size of the whole VOB set
- get number of titles and get for each title information like format, length, start position
- for each title save a file VIDEO_TS.IFO in the sqlite-database and store start sector in column TRACK
- if a VIDEO_TS.IFO file requested by a DLNA-Client serve the file by using libdvdread4 (start with the start sector stored in column TRACK)
the patch also contains the following modifications/improvements:
- disable search for VOB-Files
- video files are directly added to the container "VIDEO_ID" (VIDEO_ALL_ID, VIDEO_DIR_ID, BROWSEDIR_ID are disabled)
- title names for DVD movies are generated from path name (parent directory of VIDEO_TS)
- title names for BDMV movies are generated from path name (parent directory of BDMV/STREAM)
- Ignore useless BDMV and DVD Directories (AUDIO_TS, BDMV/..., CERTIFICATE)
- Ignore VIDEO_TS and BDMV/STREAM directory and add files directly to the folder which contains the movie
- initial DTS support
- added DTS to audio profiles
- add "[DTS]" to title name (most TV's do not support DTS, so this is helpfull for detecting files which are not playable)
- add search for VDR-Files
Log in to post a comment.