dvd_reader.h | dvd_reader.h | |||
---|---|---|---|---|
skipping to change at line 72 | skipping to change at line 72 | |||
/** | /** | |||
* Opaque type that is used as a handle for one instance of an opened DVD. | * Opaque type that is used as a handle for one instance of an opened DVD. | |||
*/ | */ | |||
typedef struct dvd_reader_s dvd_reader_t; | typedef struct dvd_reader_s dvd_reader_t; | |||
/** | /** | |||
* Opaque type for a file read handle, much like a normal fd or FILE *. | * Opaque type for a file read handle, much like a normal fd or FILE *. | |||
*/ | */ | |||
typedef struct dvd_file_s dvd_file_t; | typedef struct dvd_file_s dvd_file_t; | |||
struct dvd_reader_stream_cb | ||||
{ | ||||
int ( *pf_seek ) ( void *p_stream, uint64_t i_pos); | ||||
int ( *pf_read ) ( void *p_stream, void* buffer, int i_read); | ||||
int ( *pf_readv ) ( void *p_stream, void *p_iovec, int i_blocks); | ||||
}; | ||||
typedef struct dvd_reader_stream_cb dvd_reader_stream_cb; | ||||
/** | /** | |||
* Public type that is used to provide statistics on a handle. | * Public type that is used to provide statistics on a handle. | |||
*/ | */ | |||
typedef struct { | typedef struct { | |||
off_t size; /**< Total size of file in bytes */ | off_t size; /**< Total size of file in bytes */ | |||
int nr_parts; /**< Number of file parts */ | int nr_parts; /**< Number of file parts */ | |||
off_t parts_size[9]; /**< Size of each part in bytes */ | off_t parts_size[9]; /**< Size of each part in bytes */ | |||
} dvd_stat_t; | } dvd_stat_t; | |||
/** | /** | |||
* Opens a block device of a DVD-ROM file, or an image file, or a directory | * Opens a block device of a DVD-ROM file, or an image file, or a directory | |||
* name for a mounted DVD or HD copy of a DVD. | * name for a mounted DVD or HD copy of a DVD. | |||
* The second form of Open function (DVDOpenStream) can be used to | ||||
* provide custom stream_cb functions to access the DVD (see libdvdcss). | ||||
* | * | |||
* If the given file is a block device, or is the mountpoint for a block | * If the given file is a block device, or is the mountpoint for a block | |||
* device, then that device is used for CSS authentication using libdvdcss. | * device, then that device is used for CSS authentication using libdvdcss. | |||
* If no device is available, then no CSS authentication is performed, | * If no device is available, then no CSS authentication is performed, | |||
* and we hope that the image is decrypted. | * and we hope that the image is decrypted. | |||
* | * | |||
* If the path given is a directory, then the files in that directory may b e | * If the path given is a directory, then the files in that directory may b e | |||
* in any one of these formats: | * in any one of these formats: | |||
* | * | |||
* path/VIDEO_TS/VTS_01_1.VOB | * path/VIDEO_TS/VTS_01_1.VOB | |||
* path/video_ts/vts_01_1.vob | * path/video_ts/vts_01_1.vob | |||
* path/VTS_01_1.VOB | * path/VTS_01_1.VOB | |||
* path/vts_01_1.vob | * path/vts_01_1.vob | |||
* | * | |||
* @param path Specifies the the device, file or directory to be used. | * @param path Specifies the the device, file or directory to be used. | |||
* @param stream is a private handle used by stream_cb | ||||
* @param stream_cb is a struct containing seek and read functions | ||||
* @return If successful a a read handle is returned. Otherwise 0 is return ed. | * @return If successful a a read handle is returned. Otherwise 0 is return ed. | |||
* | * | |||
* dvd = DVDOpen(path); | * dvd = DVDOpen(path); | |||
* dvd = DVDOpenStream(stream, &stream_cb); | ||||
*/ | */ | |||
dvd_reader_t *DVDOpen( const char * ); | dvd_reader_t *DVDOpen( const char * ); | |||
dvd_reader_t *DVDOpenStream( void *, dvd_reader_stream_cb * ); | ||||
/** | /** | |||
* Closes and cleans up the DVD reader object. | * Closes and cleans up the DVD reader object. | |||
* | * | |||
* You must close all open files before calling this function. | * You must close all open files before calling this function. | |||
* | * | |||
* @param dvd A read handle that should be closed. | * @param dvd A read handle that should be closed. | |||
* | * | |||
* DVDClose(dvd); | * DVDClose(dvd); | |||
*/ | */ | |||
End of changes. 5 change blocks. | ||||
0 lines changed or deleted | 14 lines changed or added | |||