@@ -239,10 +239,68 @@ select
239239 " asset_edit" ." assetId" = " asset" ." id"
240240 ) as agg
241241 ) as " edits" ,
242- to_json(" asset_exif" ) as " exifInfo"
242+ to_json(" asset_exif" ) as " exifInfo" ,
243+ (
244+ select
245+ to_json(obj)
246+ from
247+ (
248+ select
249+ " asset_video" ." index" ,
250+ " asset_video" ." codecName" ,
251+ " asset_video" ." profile" ,
252+ " asset_video" ." level" ,
253+ " asset_video" ." bitrate" ,
254+ " asset_exif" ." exifImageWidth" as " width" ,
255+ " asset_exif" ." exifImageHeight" as " height" ,
256+ " asset_video" ." pixelFormat" ,
257+ " asset_video" ." frameCount" ,
258+ " asset_exif" ." fps" as " frameRate" ,
259+ " asset_video" ." timeBase" ,
260+ case
261+ when " asset_exif" ." orientation" = ' 6' then - 90
262+ when " asset_exif" ." orientation" = ' 8' then 90
263+ when " asset_exif" ." orientation" = ' 3' then 180
264+ else 0
265+ end as " rotation" ,
266+ " asset_video" ." colorPrimaries" ,
267+ " asset_video" ." colorMatrix" ,
268+ " asset_video" ." colorTransfer" ,
269+ " asset_video" ." dvProfile" ,
270+ " asset_video" ." dvLevel" ,
271+ " asset_video" ." dvBlSignalCompatibilityId"
272+ from
273+ (
274+ select
275+ 1
276+ ) as " dummy"
277+ where
278+ " asset_video" ." assetId" is not null
279+ ) as obj
280+ ) as " videoStream" ,
281+ (
282+ select
283+ to_json(obj)
284+ from
285+ (
286+ select
287+ " asset_video" ." formatName" ,
288+ " asset_video" ." formatLongName" ,
289+ " asset" ." duration" ,
290+ " asset_video" ." bitrate"
291+ from
292+ (
293+ select
294+ 1
295+ ) as " dummy"
296+ where
297+ " asset_video" ." assetId" is not null
298+ ) as obj
299+ ) as " format"
243300from
244301 " asset"
245302 inner join " asset_exif" on " asset" ." id" = " asset_exif" ." assetId"
303+ left join " asset_video" on " asset_video" ." assetId" = " asset" ." id"
246304where
247305 " asset" ." id" = $4
248306
@@ -554,9 +612,88 @@ select
554612 where
555613 " asset_file" ." assetId" = " asset" ." id"
556614 ) as agg
557- ) as " files"
615+ ) as " files" ,
616+ (
617+ select
618+ to_json(obj)
619+ from
620+ (
621+ select
622+ " asset_audio" ." index" ,
623+ " asset_audio" ." codecName" ,
624+ " asset_audio" ." profile" ,
625+ " asset_audio" ." bitrate"
626+ from
627+ (
628+ select
629+ 1
630+ ) as " dummy"
631+ where
632+ " asset_audio" ." assetId" is not null
633+ ) as obj
634+ ) as " audioStream" ,
635+ (
636+ select
637+ to_json(obj)
638+ from
639+ (
640+ select
641+ " asset_video" ." index" ,
642+ " asset_video" ." codecName" ,
643+ " asset_video" ." profile" ,
644+ " asset_video" ." level" ,
645+ " asset_video" ." bitrate" ,
646+ " asset_exif" ." exifImageWidth" as " width" ,
647+ " asset_exif" ." exifImageHeight" as " height" ,
648+ " asset_video" ." pixelFormat" ,
649+ " asset_video" ." frameCount" ,
650+ " asset_exif" ." fps" as " frameRate" ,
651+ " asset_video" ." timeBase" ,
652+ case
653+ when " asset_exif" ." orientation" = ' 6' then - 90
654+ when " asset_exif" ." orientation" = ' 8' then 90
655+ when " asset_exif" ." orientation" = ' 3' then 180
656+ else 0
657+ end as " rotation" ,
658+ " asset_video" ." colorPrimaries" ,
659+ " asset_video" ." colorMatrix" ,
660+ " asset_video" ." colorTransfer" ,
661+ " asset_video" ." dvProfile" ,
662+ " asset_video" ." dvLevel" ,
663+ " asset_video" ." dvBlSignalCompatibilityId"
664+ from
665+ (
666+ select
667+ 1
668+ ) as " dummy"
669+ where
670+ " asset_video" ." assetId" is not null
671+ ) as obj
672+ ) as " videoStream" ,
673+ (
674+ select
675+ to_json(obj)
676+ from
677+ (
678+ select
679+ " asset_video" ." formatName" ,
680+ " asset_video" ." formatLongName" ,
681+ " asset" ." duration" ,
682+ " asset_video" ." bitrate"
683+ from
684+ (
685+ select
686+ 1
687+ ) as " dummy"
688+ where
689+ " asset_video" ." assetId" is not null
690+ ) as obj
691+ ) as " format"
558692from
559693 " asset"
694+ inner join " asset_exif" on " asset" ." id" = " asset_exif" ." assetId"
695+ inner join " asset_video" on " asset_video" ." assetId" = " asset" ." id"
696+ left join " asset_audio" on " asset_audio" ." assetId" = " asset" ." id"
560697where
561698 " asset" ." id" = $1
562699 and " asset" ." type" = ' VIDEO'
0 commit comments