Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dragonfly_bsd [2018/12/29 07:10]
beandog created
dragonfly_bsd [2019/05/24 15:57] (current)
beandog [DragonFly BSD]
Line 2: Line 2:
  
   * [[https://​www.dragonflybsd.org/​~labthug/​handbook/​disks-naming.html|Device Names]]   * [[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:
 +
 +<​code>​
 +pkg install autoconf automake pkgconf
 +</​code>​
 +
 +==== dvd_info ====
 +
 +Install libdvdread and libdvdcss:
 +
 +<​code>​
 +pkg install libdvdread libdvdcss
 +</​code>​
 +
 +
 +Download the source code from github, and build:
 +
 +<​code>​
 +autoreconf -fi
 +./configure
 +make
 +</​code>​
 +
 +==== bluray_info ====
 +
 +Install libbluray and libaacs:
 +
 +<​code>​
 +pkg install libbluray and libaacs
 +</​code>​
 +
 +Then check out the code as normal, and build:
 +
 +<​code>​
 +autoreconf -fi
 +./configure
 +make
 +</​code>​
 +
 +==== research notes ====
 +
 +<​code>​
 +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 */
 +                                };
 +
 +</​code>​

Navigation