PHRAS-1911-add route return list documentary fields

This commit is contained in:
Sandeep
2018-03-16 15:01:20 +04:00
parent 314473b169
commit 5de988299d
5 changed files with 231 additions and 58 deletions

View File

@@ -8,40 +8,19 @@ use media_subdef;
class MetadataHelper
{
private static $tag_descriptors = [];
private function __construct() {}
public static function createTags()
{
static $tag_descriptors = [
[media_subdef::TC_DATA_WIDTH , 'integer', false],
[media_subdef::TC_DATA_HEIGHT , 'integer', false],
[media_subdef::TC_DATA_COLORSPACE , 'string' , false],
[media_subdef::TC_DATA_CHANNELS , 'integer', false],
[media_subdef::TC_DATA_ORIENTATION , 'integer', false],
[media_subdef::TC_DATA_COLORDEPTH , 'integer', false],
[media_subdef::TC_DATA_DURATION , 'float' , false],
[media_subdef::TC_DATA_AUDIOCODEC , 'string' , false],
[media_subdef::TC_DATA_AUDIOSAMPLERATE , 'float' , false],
[media_subdef::TC_DATA_VIDEOCODEC , 'string' , false],
[media_subdef::TC_DATA_FRAMERATE , 'float' , false],
[media_subdef::TC_DATA_MIMETYPE , 'string' , false],
[media_subdef::TC_DATA_FILESIZE , 'long' , false],
// TODO use geo point type for lat/long
[media_subdef::TC_DATA_LONGITUDE , 'float' , false],
[media_subdef::TC_DATA_LATITUDE , 'float' , false],
[media_subdef::TC_DATA_FOCALLENGTH , 'float' , false],
[media_subdef::TC_DATA_CAMERAMODEL , 'string' , true ],
[media_subdef::TC_DATA_FLASHFIRED , 'boolean', false],
[media_subdef::TC_DATA_APERTURE , 'float' , false],
[media_subdef::TC_DATA_SHUTTERSPEED , 'float' , false],
[media_subdef::TC_DATA_HYPERFOCALDISTANCE, 'float' , false],
[media_subdef::TC_DATA_ISO , 'integer', false],
[media_subdef::TC_DATA_LIGHTVALUE , 'float' , false]
];
self::$tag_descriptors = media_subdef::getTechnicalFieldsList();
$tags = [];
foreach ($tag_descriptors as $descriptor) {
$tags[] = new Tag($descriptor[0], $descriptor[1], $descriptor[2]);
foreach (self::$tag_descriptors as $descriptor) {
if (array_key_exists('type', $descriptor) && array_key_exists('analyzable', $descriptor) && array_key_exists('name', $descriptor)) {
$tags[] = new Tag($descriptor['name'], $descriptor['type'], $descriptor['analyzable']);
}
}
return $tags;