Thank you for the post Chuck! Which codec would you suggest for mp4? (sorry if this is a very noob-ish question, I am very new to all things video related)
I decided at this stage it is best to go with MultiMediaKit. I don't really want to invest the time into a library that is about to be deprecated, and MultiMediaKit doesn't involve as large a time investment as I first thought.
I did some further testing with the divx codec and the code sample shown "here":http://doc.qt.nokia.com/qtmobility-1.1/qmediaplayer.html#details. For this test note that I have 2 windows XP computers setup with Qt. The short version of the test results is that the divx codec allows me to play .avi videos (this is verified against a computer without the divx codec and by a divx watermark that appears for the first few seconds of playback). However I still cannot play divx files using the MultiMediaKit. When I try to do so, I get an error "DirectShowPlayerService::doRender unresolved error code 80040218". I was unable to step through the code to find this error, but may try again later.
The next experiment I would like to try is continually polling the backend for supported mimetypes while systematically installing new codecs. I am hoping to see a predictable increase in codec support. I am trying the following code:
@
QStringList mimes = QMediaPlayer::supportedMimeTypes();
for (int i=0; i<mimes.count(); i++)
ui->mimeList->addItem(mimes.at(i)); // mimeList is a combo box
@
Unfortunately I never get any elements in the mimes QStringList. So I cannot run this test.
Ultimately I would like to identify a video format that uses a nice safe codec. When the program runs, it will poll the end user's system to see if it supports that specific video format. If that format is not supported it will display a link instructing the user to install the correct codec. This would be easily done using the call:
@
QtMultimediaKit::SupportEstimate QMediaPlayer::hasSupport ( const QString & mimeType, const QStringList & codecs, ... )
@
However, since the supportedMimeTypes call isn't working I really don't know what I would pass into this second call.
Any suggestions on "safe" codecs I could use, or on what could be preventing the above code from working?