A partir de 2026, para alinhar com nosso modelo de desenvolvimento estável de tronco e garantir a estabilidade da plataforma para o ecossistema, vamos publicar o código-fonte no AOSP no segundo e quarto trimestres. Para criar e contribuir com o AOSP, recomendamos usar android-latest-release em vez de aosp-main. O branch de manifesto android-latest-release sempre vai fazer referência à versão mais recente enviada ao AOSP. Para mais informações, consulte Mudanças no AOSP.
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
Metadados do frame
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os metadados de frame foram introduzidos no Android 11 como um membro da estrutura de dados
BufferDesc. Esse novo campo é declarado como vec<uint8_t> para acomodar
um formato de dados definido pelo cliente e é opaco para o gerenciador de EVS.
struct BufferDesc {
/**
* HIDL counterpart of AHardwareBuffer_Desc. Please see
* hardware/interfaces/graphics/common/1.2/types.hal for more details.
*/
HardwareBuffer buffer;
...
/**
* Time that this buffer is being filled.
*/
int64_t timestamp;
/**
* Frame metadata field. This is opaque to EVS manager.
*/
vec<uint8_t> metadata;
};
O vec<T> da HIDL representa matrizes de tamanho dinâmico com os dados
armazenados em um buffer separado. Essas instâncias são representadas com uma instância do
vec<T> no struct,
o que significa que a implementação do driver HAL da câmera EVS é proprietária desses metadados e precisa limpá-los
corretamente. Há duas maneiras de preencher metadados:
- Redimensionar o contêiner e preencher dados usando
operator[]
struct BufferDesc desc = {};
...
desc.metadata.resize(10);
for (auto i = 0; i < 10; ++i) {
desc.metadata[i] = frameInfo[i];
}
...
- Use
setToExternal()
para fazer com que vec<T> aponte para sua estrutura de dados personalizada.
struct BufferDesc desc = {};
struct FrameMetadata metadata = {
...
}; // this is in vendor-defined format.
desc.metadata.setToExternal(&metadata, sizeof(metadata));
...
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2026-02-17 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2026-02-17 UTC."],[],[]]