====== DragonFly BSD ====== * [[https://www.dragonflybsd.org/~labthug/handbook/disks-naming.html|Device Names]] Both dvd_info and bluray_info build out of the box once the dependencies re installed. The default device for the optical drive is ''/dev/cd0'' It not already installed, you will need automake and autoconf: pkg install autoconf automake pkgconf ==== dvd_info ==== Install libdvdread and libdvdcss: pkg install libdvdread libdvdcss Download the source code from github, and build: autoreconf -fi ./configure make ==== bluray_info ==== Install libbluray and libaacs: pkg install libbluray and libaacs Then check out the code as normal, and build: autoreconf -fi ./configure make ==== research notes ==== man 4 cd: CDIOCRESET CDIOCSETDEBUG CDIOCCLRDEBUG Turn on (off) debugging for the appropriate device. CDIOCSTART CDIOCSTOP Tell the drive to spin-up (-down) the CD-ROM. CDIOCALLOW CDIOCPREVENT Tell the drive to allow (prevent) manual ejection of the CD-ROM disc. Not all drives support this feature. CDIOCEJECT CDIOCCLOSE man 9 cd: CD_Q_NO_TOUCH This flag tell the driver not to probe the drive at attach time to see if there is a disk in the drive and find out what size it is. This flag is currently unimplemented in the CAM cd driver. CDIOCCAPABILITY (struct ioc_capability) Retrieve information from the drive on what features it supports. The information is returned in the following structure: struct ioc_capability { u_long play_function; #define CDDOPLAYTRK 0x00000001 /* Can play tracks/index */ #define CDDOPLAYMSF 0x00000002 /* Can play msf to msf */ #define CDDOPLAYBLOCKS 0x00000004 /* Can play range of blocks */ #define CDDOPAUSE 0x00000100 /* Output can be paused */ #define CDDORESUME 0x00000200 /* Output can be resumed */ #define CDDORESET 0x00000400 /* Drive can be completely reset */ #define CDDOSTART 0x00000800 /* Audio can be started */ #define CDDOSTOP 0x00001000 /* Audio can be stopped */ #define CDDOPITCH 0x00002000 /* Audio pitch can be changed */ u_long routing_function; #define CDREADVOLUME 0x00000001 /* Volume settings can be read */ #define CDSETVOLUME 0x00000002 /* Volume settings can be set */ #define CDSETMONO 0x00000100 /* Output can be set to mono */ #define CDSETSTEREO 0x00000200 /* Output can be set to stereo (def) */ #define CDSETLEFT 0x00000400 /* Output can be set to left only */ #define CDSETRIGHT 0x00000800 /* Output can be set to right only */ #define CDSETMUTE 0x00001000 /* Output can be muted */ #define CDSETPATCH 0x00008000 /* Direct routing control allowed */ u_long special_function; #define CDDOEJECT 0x00000001 /* The tray can be opened */ #define CDDOCLOSE 0x00000002 /* The tray can be closed */ #define CDDOLOCK 0x00000004 /* The tray can be locked */ #define CDREADHEADER 0x00000100 /* Can read Table of Contents */ #define CDREADENTRIES 0x00000200 /* Can read TOC Entries */ #define CDREADSUBQ 0x00000200 /* Can read Subchannel info */ #define CDREADRW 0x00000400 /* Can read subcodes R-W */ #define CDHASDEBUG 0x00004000 /* The tray has dynamic debugging */ };