This is a report from the final frontiers as observed by Adrian 505. To boldly go where no man has gone before ...


Apologies... long post!

I am posting this because I have not seen any reports of success in compiling qdvdauthor under Mac OS X. Be warned that to do all this will take many hours of downloading, installing and compiling. It took about 90 minutes to build Qt (Power PC G4 1.67 GHz, OS 10.3.9) and the installation occupies about 1 GB of disc space. It took about 20 minutes to build qdvdauthor.

I already had some of Apple's Xcode tools installed, including gcc 3.3. I installed in addition X11 support and the X11 SDK. (I am not sure if anything from the SDK is needed.) In spite of needing X11, the app actually uses the Mac window system.

The utilities needed by qdvdauthor were built with DarwinPorts. Mplayer was chosen because there was a problem with xine-lib. I already had some of the utilities installed. I installed dvdauthor, libiconv, libxml2, Mplayer, libpng, zlib, mjpegtools, netpbm and possibly others I do not have a note of.

Qdvdauthor uses multithreading so Qt had to be built with multithreading support. This is not the default in the version I used (mac-free-3.3.7). I built Qt with static libraries. The configure utility of qdvdauthor has an option for choosing the Qt library with or without multithreading support but you must choose the library with support or the application will not work.

Configure commands for Qt:
./configure -static -thread

Configure command for qdvdauthor:
./configure --with-mplayer-support --with-qt-lib=qt-mt I also used the option --prefix=/usr/local/bin but that did not work (maybe I needed to use root privilege).

Qdvdauthor (0.1.5) compiled with no errors and one warning repeated five or six times: invalid conversion of _opaque_pthread_t* to long unsigned int. This appears to be related to the Log function for writing to log files.

I had to set linker flags as follows to get the linker to find the X11 library - I'm not clear why:
LDFLAGS="-L/usr/X11R6/lib -lX11"

Qdvdauthor can be launched by double-clicking on the app and it looks like it is working but it fails to recognise the format of video files. If you launch it from the command line then it does recognise video files (and you have the advantage that you can see any error messages). If you put it in the background it again fails to recognise video files and this cannot be remedied by returning it to the foreground. You have to quit and relaunch. I don't know why.

I had to delete ~/.qdvdauthor/qdvdauthor.ini to fix the problem of an empty 'create DVD' dialog. I think this may be because the first time I successfully launched qdvdauthor, it immediately asked whether to overwrite qdvdauthor.ini and I had no idea what that signified so I chose 'No'.

I am very impressed that all this was possible without making any changes to the source code.

The most obvious thing that works in other builds but is not working in my build is that the d and e buttons in the authoring dialog look a bit strange and the d and e labels are missing. Maybe the buttons are too small and there is not room for the labels. The buttons work, in spite of this. Qdvdauthor seems to be rather picky about which video files it will recognise, even though the files are recognised by (say) MPEG Streamclip and the QuickTime MPEG-2 playback component. It is also inconsistent about recognising video files. You can add a file to the list, delete it, and add it again, and different parts of the file header are recognised on the two occasions. You can even put two instances of the same file in the list, and the first is recognised and the second is not. It seems that errors arising in the Mplayer back end are not handled smoothly. Maybe Mplayer is not amenable to the smooth handling of errors when it is used as a back end rather than on the command line.