2008-12-10, 22:42
Alright so here's phase 1 of this development. I've posted a patch to #5154 that exports stream information from CDVDPlayer and all of its CDVD*Codec* classes. This allows skins to get at the currently playing Audio and Video Codec, Video Resolution, and Audio Source Channels via the following $INFO labels:
videoplayer.videocodec -> returns h264, mpeg4, mpeg2, etc
videoplayer.audiocodec -> returns aac, dts, ac3, etc
videoplayer.audiochannels -> returns 1, 2, 6, etc
videoplayer.videoresolution -> rather than return the exact resolution this returns "480" for anything less than 1200 pixels wide, "720" for anything less than 1840 pixels wide and "1080" for anything else.
"But Bry", you say, "we want the information in the library, not the player". Well getting that information requires something to export the information. Now that everything exports the stream information, all I have to do is copy the information from the player to some new fields in CVideoInfoTag once the player starts playing and have the VideoDatabase save them. Before I did that, I wanted to make sure that I wasn't going to get the patch outright rejected.
videoplayer.videocodec -> returns h264, mpeg4, mpeg2, etc
videoplayer.audiocodec -> returns aac, dts, ac3, etc
videoplayer.audiochannels -> returns 1, 2, 6, etc
videoplayer.videoresolution -> rather than return the exact resolution this returns "480" for anything less than 1200 pixels wide, "720" for anything less than 1840 pixels wide and "1080" for anything else.
"But Bry", you say, "we want the information in the library, not the player". Well getting that information requires something to export the information. Now that everything exports the stream information, all I have to do is copy the information from the player to some new fields in CVideoInfoTag once the player starts playing and have the VideoDatabase save them. Before I did that, I wanted to make sure that I wasn't going to get the patch outright rejected.