{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://schemas.mpai.community/AIF/V2.0/AIW-AIM-metadata.schema.json",
    "$id": "https://schemas.mpai.community/PAF/V1.3/AIMs/VideoconferenceClientReceiver.json",
    "title": "VideoconferenceClientReceiver",
    "Identifier": {
      "ImplementerID": "/* String assigned by IIDRA */",
      "Specification": {
        "Standard": "MPAI-PAF",
        "AIW": "ABV-CRX",
        "AIM": "",
        "Version": "1.3"
      }
    },
    "APIProfile": "Secure",
    "Description": " This AIW composes and renders the Avatar-Based Videoconference scene.",
    "Types": [
      {
        "Name": "PointOfView_t",
        "Type": "uint8[]"
      },
      {
        "Name": "AudioObject_t",
        "Type": "uint8[]"
      },
      {
        "Name": "PortableAvatar_t",
        "Type": "uint8[]"
      },
      {
        "Name": "TextObject_t",
        "Type": "uint8[]"
      },
      {
        "Name": "VisualObject_t",
        "Type": "uint8[]"
      }
    ],
    "Ports": [
      {
        "Name": "PortableAvatar",
        "Direction": "InputOutput",
        "RecordType": "PortableAvatar_t",
        "Technology": "Software",
        "Protocol": "",
        "IsRemote": false
      },
      {
        "Name": "PointOfView",
        "Direction": "InputOutput",
        "RecordType": "PointOfView_t",
        "Technology": "Software",
        "Protocol": "",
        "IsRemote": false
      },
      {
        "Name": "OutputAudio",
        "Direction": "OutputInput",
        "RecordType": "uint8[]",
        "Technology": "Software",
        "Protocol": "",
        "IsRemote": false
      },
      {
        "Name": "OutputVisual",
        "Direction": "OutputInput",
        "RecordType": "uint8[]",
        "Technology": "Software",
        "Protocol": "",
        "IsRemote": false
      },
      {
        "Name": "OutputText",
        "Direction": "OutputText",
        "RecordType": "uint8[]",
        "Technology": "Software",
        "Protocol": "",
        "IsRemote": false
      }
    ],
    "SubAIMs": [
      {
        "Name": "PortableAvatarDemultiplexing",
        "Identifier": {
          "ImplementerID": "/* String assigned by IIDRA */",
          "Specification": {
            "Standard": "MPAI-PAF",
            "AIW": "",
            "AIM": "PortableAvatarDemultiplexing",
            "Version": "V1.3"
          }
        }
      },
      {
        "Name": "VisualSceneCreation",
        "Identifier": {
          "ImplementerID": "/* String assigned by IIDRA */",
          "Specification": {
            "Standard": "MPAI-PAF",
            "AIW": "",
            "AIM": "VisualSceneCreation",
            "Version": "V1.3"
          }
        }
      },
      {
        "Name": "AudioVisualSceneCreation",
        "Identifier": {
          "ImplementerID": "/* String assigned by IIDRA */",
          "Specification": {
            "Standard": "MPAI-PAF",
            "AIW": "",
            "AIM": "AudioVisualSceneCreation",
            "Version": "V1.3"
          }
        }
      },
      {
        "Name": "AudioVisualSceneRendering",
        "Identifier": {
          "ImplementerID": "/* String assigned by IIDRA */",
          "Specification": {
            "Standard": "MPAI-PAF",
            "AIW": "",
            "AIM": "AudioVisualSceneRendering",
            "Version": "V1.3"
          }
        }
      }
    ],
    "Topology": [
      {
        "Output": {
          "AIMName": "",
          "PortName": "PortableAvatar"
        },
        "Input": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "PortableAvatar"
        }
      },
      {
        "Output": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "AvatarID"
        },
        "Input": {
          "AIMName": "VisualSceneCreation",
          "PortName": "AvatarID"
        }
      },
      {
        "Output": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "VisualSceneDescriptors"
        },
        "Input": {
          "AIMName": "VisualSceneCreation",
          "PortName": "VisualSceneDescriptors"
        }
      },
      {
        "Output": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "AvatarModel"
        },
        "Input": {
          "AIMName": "VisualSceneCreation",
          "PortName": "AvatarModel"
        }
      },
      {
        "Output": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "SpatialAttitude"
        },
        "Input": {
          "AIMName": "VisualSceneCreation",
          "PortName": "SpatialAttitude"
        }
      },
      {
        "Output": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "BodyDescriptors"
        },
        "Input": {
          "AIMName": "VisualSceneCreation",
          "PortName": "BodyDescriptors"
        }
      },
      {
        "Output": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "FaceDescriptors"
        },
        "Input": {
          "AIMName": "VisualSceneCreation",
          "PortName": "FaceDescriptors"
        }
      },
      {
        "Output": {
          "AIMName": "VisualSceneCreation",
          "PortName": "VisualSceneDescriptors"
        },
        "Input": {
          "AIMName": "AudioSceneCreation",
          "PortName": "VisualSceneDescriptors"
        }
      },
      {
        "Output": {
          "AIMName": "VisualSceneCreation",
          "PortName": "MouthSpatialAttitude"
        },
        "Input": {
          "AIMName": "AudioSceneCreation",
          "PortName": "MouthSpatialAttitude"
        }
      },
      {
        "Output": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "AvatarID"
        },
        "Input": {
          "AIMName": "AudioVisualSceneCreation",
          "PortName": "AvatarID"
        }
      },
      {
        "Output": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "InputSpeech"
        },
        "Input": {
          "AIMName": "AudioSceneCreation",
          "PortName": "InputSpeech"
        }
      },
      {
        "Output": {
          "AIMName": "",
          "PortName": "PointofView"
        },
        "Input": {
          "AIMName": "AVSceneRendering",
          "PortName": "PointofView"
        }
      },
      {
        "Output": {
          "AIMName": "AudioVisualSceneCreation",
          "PortName": "AudioVisualSceneDescriptors"
        },
        "Input": {
          "AIMName": "AudioVisualSceneRendering",
          "PortName": "AudioVisualSceneDescriptors"
        }
      },
      {
        "Output": {
          "AIMName": "AVSceneRendering",
          "PortName": "OutputAudio"
        },
        "Input": {
          "AIMName": "",
          "PortName": "OutputAudio"
        }
      },
      {
        "Output": {
          "AIMName": "AVSceneRendering",
          "PortName": "OutputVisual"
        },
        "Input": {
          "AIMName": "",
          "PortName": "OutputVisual"
        }
      },
      {
        "Output": {
          "AIMName": "PortableAvatarDemultiplexing",
          "PortName": "OutputText"
        },
        "Input": {
          "AIMName": "",
          "PortName": "OutputText"
        }
      }
    ],
    "Implementations": [],
    "ResourcePolicies": [],
    "Documentation": [
      {
        "Type": "Tutorial",
        "URI": "https://mpai.community/standards/MPAI-PAF/"
      }
    ]
  }