From d0064da6a5a61afee00783f1daedb35ba2a32c9e Mon Sep 17 00:00:00 2001 From: Barrett17 Date: Thu, 3 Jan 2019 11:17:53 +0100 Subject: [PATCH] MetaData: Introduce missing keys --- headers/os/codec/MetaData.h | 11 ++++++++--- src/kits/codec/MetaData.cpp | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/headers/os/codec/MetaData.h b/headers/os/codec/MetaData.h index a721342102..d2b707b688 100644 --- a/headers/os/codec/MetaData.h +++ b/headers/os/codec/MetaData.h @@ -34,21 +34,26 @@ extern const char* kNumTracks; // uint32 extern const char* kDrmCrippled; // bool // Stuff needed to fully describe the BMediaFormat +// TODO: Shouldn't we just use MIME types for it? extern const char* kMediaType; // media_type // Audio stuff extern const char* kChannelCount; // uint32 extern const char* kAudioFormat; // uint32 extern const char* kByteOrder; // uint32 extern const char* kBufferSize; // size_t +// Multiaudio +extern const char* kChannelMask; // size_t + // This is also BMediaFormat stuff, but mostly video // NOTE: video width/height are defined as per RFC mentioned above -extern const char* kLineWidth; // uint32 -extern const char* kLineCount; // uint32 extern const char* kBytesPerRow; // uint32 extern const char* kPixelOffset; // uint32 extern const char* kLineOffset; // uint32 extern const char* kColorSpace; // color_space extern const char* kOrientation; // uint32 +extern const char* kVideoFrameSize; // uint32 + +extern const char* kEncoding; // uint32 // General use attributes extern const char* kTitle; // BString @@ -113,7 +118,7 @@ public: bool GetBool(const char* key, bool* value) const; bool GetUInt32(const char* key, uint32* value) const; bool GetUInt64(const char* key, uint64* value) const; - bool GetFloat(const char* key, float* value); + bool GetFloat(const char* key, float* value) const; bool HasString(const char* key) const; bool HasBool(const char* key) const; diff --git a/src/kits/codec/MetaData.cpp b/src/kits/codec/MetaData.cpp index 69e7c54084..b19f97ff72 100644 --- a/src/kits/codec/MetaData.cpp +++ b/src/kits/codec/MetaData.cpp @@ -38,6 +38,7 @@ const char* kChannelCount = "channelcount"; const char* kAudioFormat = "audioformat"; const char* kByteOrder = "byteorder"; const char* kBufferSize = "buffersize"; +const char* kChannelMask = "channelmask"; const char* kLineWidth = "linewidth"; const char* kLineCount = "linecount"; @@ -47,6 +48,10 @@ const char* kLineOffset = "lineoffset"; const char* kColorSpace = "colorspace"; const char* kOrientation = "orientation"; +const char* kVideoFrameSize = "orientation"; + +const char* kEncoding = "encoding"; + const char* kTitle = "title"; const char* kComment = "comment"; const char* kCopyright = "copyright"; @@ -134,6 +139,20 @@ BMetaData::SetFloat(const char* key, float value) } +bool +BMetaData::GetUInt32(const char* key, uint32* value) const +{ + return fMessage->FindUInt32(key, value) == B_OK ? true : false; +} + + +bool +BMetaData::GetFloat(const char* key, float* value) const +{ + return fMessage->FindFloat(key, value) == B_OK ? true : false; +} + + bool BMetaData::GetString(const char* key, BString* value) const {