UPnP audio transcoding support

Description

This patch adds automatic audio transcoding to the UPnP server. This should allow UPnP clients which do not support OGG or FLAC to play these files.

An additional "res" element is added to each advertised audio file, adding a modified URL. When a file with one of these URLs is requested, Myth's http server converts the file on-the-fly to uncompressed audio ("audio/L16" format). The original "res" element (advertising the file as OGG or FLAC or whatever) remains, so clients that already have support for these files should be unaffected.

I have tested this using my Xbox 360 as the UPnP client. Because other issues stop MythTV's UPnP working with the Xbox 360, I have included changes from my Xbox 360 patch (at ticket #9632), so that I can be sure this is a working patch. If this is not acceptable, and someone lets me know, I can remove these changes and make a version of this patch which only contains the audio-transcoding changes (but I will not be able to test this patch myself).

Changed 8 years ago by Joe Bryant <tenminjoe@…>

One note - I find that, with the patch, I get lots of messages from the FFMPEG libraries reading "Diverting av_*_packet function calls to libavcodec" in the output. I can get rid of these messages by using the "--disable-symver" option with the configure script. I'm not sure whether this is the right solution - I'd love to know if there's a better way.