📄 intf-cdda.txt
字号:
# Contact CDDB via the HTTP protocol?# bool, default: 0- -cddax-cddb-port# numeric, default: 8880- -cddax-cddb-server# The server CDDB contacts to get CD info# string, default: freedb.freedb.org- -cddax-debugAn integer (interpreted as a bit mask) which shows additionaldebugging information see the section below on debugging for moreinformation about the bits that can be set.- - cddax-deviceWhat to use if no drive specified. If null, we'll scan for CDdrives with a CD-DA loaded in it.# string, default: -----------------------------------------------------------------Troubleshooting Guide-----------------------------------------------------------------This gives higher-level troubleshooting. More detailed andlower-level information is given in the next section DEBUGGING. Problem: something doesn't work. Start at step -1.Problem: The program gets a SEGFAULT or gives core dump. Start at step0.Problem: I don't get anything playing. I can't even get a playlist ofthe CD.Determination: start at step 1.Problem: Okay, I something plays menu now. But I don't see informationabout the CD in the playlist.Determination: start at step 5.-1. (Something doesn't work.) A lot of what is put here really is applicable to reporting problems and troubleshooting in vlc and the concepts really apply to any sort of bug reporting. When reporting a problem it's helpful to have facts: a) the version of vlc) you are using b) the OS you are running on c) the version of libcdio and/or libcddb you are using versions of libcdio and libcddb can be obtained by running pkg-config --modversion libcdio pkg-config --modversion libcddb d) what you input or requested (e.g. the full command line entered - if it is possible to reproduce the problem by giving a commandline that is desirable since it is probably the simplest way to convey exactly what was requested) People often give (some part) of an error message neglecting to also include what was requested or entered that led to the output. e) The setting for this plugin. That is the values of the variables that start cddax- listed above. On Unix this can generally be found in ~/.vlc/vlcrc f) Exactly the messages that were what given. You can turn increase the verbosity level by setting "verbosity=2" in the vlc preferences files. On Unix the preferences file is generally in ~/vlc/.vlcrc but there are GUI ways to set this too. Give everything that is in the message log.0. (The program gets a SEGFAULT or gives core dump.) Get and send a stack trace. In addition to -1. Make sure the program has been compiled with debugging symbols put into the code. This is usually done by having the "-g" flag set when compiling the program. You can get a strack trace the GNU debugger using the "where" command. For example on this might work: gdb vlc *name-of-corefile* where1. (I don't get anything playing. I can't even get a playlist of the CD.) Do you even have the plugin loaded? When you run the vlc GUI, under Settings/Preferences you should see a "plugins" expandable list and under that another "access" list do you see a expandable entry under "access" labeled "cddax"? If so, skip on to step 2. a) If no "cddax" expandable list, then the CDDAX plugin isn't loaded. Does a shared object exist? The plugin shared object is called "libcddax_plugin.so" It should be in the directory that has ...vlc/access. If this isn't around you need to build and install the CDDAX plugin. b) if libcddax_plugin.so is in the filesystem, there might be a loader error; perhaps libcdio is not installed or are the wrong version. Use ldd on the file to see that it has all of the libraries dependencies satisfied. Also you might be able check if there was an attempt to load it by tracking system calls. On Linux and other OS's) "strace" can be used to see if the file gets accessed. On Solaris use "truss". For example on Linux, among the many line of output when I run "strace -e trace=file vlc" I see this along with a lot of other output: ... stat64("/usr/local/lib/vlc/access/libcddax_plugin.so", {st_mode=S_IFREG|0755, st_size=238921, ...}) = 0 open("/usr/local/lib/vlc/access/libcddax_plugin.so", O_RDONLY) = 5 The parameters inside the calls may be different depending on where vlc is installed and what release is installed. If the the file is found and "opened", There may also be a message may under "setup/logs".2. (There plugin was loaded and preferences found.) In the "cddax" tab of preference. An important selection is "cddax-device." If this is set to the empty string, CDDAX will try to scan your drives for a suitable device if the driver has the capability to scan for drives. However you can set the device to something of your choosing. On GNU/Linux, this may be "/dev/cdrom" and on Solaris it may be "/vol/dev/aliases/cdrom0". If you set this field, make sure these are correct for your particular setup. For example, I generally play out of the DVD device and this is called /dev/dvd rather than /dev/cdrom.3. (CD-DA Setup devices seems correct and there is a CD in the drive.) Bring up the playlist. If you specified only a drive and no track, you should see in the playlist a list of tracks on the CD. a. If not something's wrong like step 2. Another tack may be to try to read a disk image of a CD and thus eliminate any problems with hardware. If this works, then this is a hardware problem. 4. (You have a list of entries describing the CD-DA or disk-file of a CD-DA image.) There should be at least one "track" listed for the CD-DA and track 1 will end with the digit 1. If there are NO tracks listed then there may be a problem with the that particular medium. So as in step 3 you can try a known good sample and perhaps burn a CD from that. 5. <<Fill in info about CDDB hacking>>-----------------------------------------------------------------Debugging-----------------------------------------------------------------**General vlc debugging...Before delving to things specific to this plugin, some preparation maybe in order. You'll probably want to configure vlc with "--enable-debug".plugin with debug information. Instead of "make'ing" with "make", use"make debug" and instead of installing using "make install" use "makeinstall-debug". I use gdb to debug. Debugging vlc with the entire suite of pluginsunder gdb is slow because it has to read in symbol tables from all theplugins. There are two ways to make loading faster when debugging. Thesimplest is just to go to the plugin directory and remove unusedplugins. Another approach is create a new directory and make(symbolic) links into the complete plugin directory. Another way tospeed up gdb loading is to attach the debugger after vlc has started upvia a command like: gdb -p *pid-of-vlc-process***cddax debugging...It's a fact of life that this plugin may be in an incomplete stateand/or will have bugs. So to facilitate tracking down problems we letyou see what's going on dynamically. Various debugging settings willcause output to appear on vlc's plugin log and/or "standard error"(assuming you've run vlc in a way that you can capture this).You think of debug switches as a bit mask, that you specify as anintegers the various "bit" values (given in decimal) are listed below. name value description---------- ----- ----------- META 1 Meta information EVENT 2 Trace keyboard events MRL 4 MRL debugging EXT 8 Calls from external routines CALL 16 all calls LSN 32 LSN changes SEEK 64 Seeks to set location CDIO 128 Debugging from CDIO library routines CDDB 256 debugging from CDDB library routines**CD debugging...The tool cd-info from libcdio can be used to show the contents andanalyze the contents of a CD.The tool cd-read from libcdio can be used to show the sectors of the CD or CD image or extract sectors. $Id$
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -