Files
media_cas_proxy_sdk_source/strings/serialize.cc
2018-12-11 10:51:52 -08:00

34 lines
928 B
C++

////////////////////////////////////////////////////////////////////////////////
// Copyright 2017 Google LLC.
//
// This software is licensed under the terms defined in the Widevine Master
// License Agreement. For a copy of this agreement, please contact
// widevine-licensing@google.com.
////////////////////////////////////////////////////////////////////////////////
#include "strings/serialize.h"
#include <string>
#include "glog/logging.h"
namespace widevine {
namespace strings {
uint32_t KeyToUint32(const std::string& key) {
CHECK_GE(key.size(), 4);
return static_cast<uint8_t>(key[0]) << 24 |
static_cast<uint8_t>(key[1]) << 16 |
static_cast<uint8_t>(key[2]) << 8 | static_cast<uint8_t>(key[3]);
}
std::string EncodeUint64(uint64_t value) {
std::string s;
s.resize(sizeof(value));
memcpy(&s[0], &value, sizeof(value));
return s;
}
} // namespace strings
} // namespace widevine