diff options
author | John "Juce" Bruce <juce@google.com> | 2014-06-10 21:12:56 -0700 |
---|---|---|
committer | Fred Gylys-Colwell <fredgc@google.com> | 2014-07-01 03:26:37 +0000 |
commit | 6b3c1473199927264691bb50445cf0b35c2f8892 (patch) | |
tree | 544711204babcd928e566bdba7a3cc76865d5687 /drm/mediadrm/plugins/clearkey/InitDataParser.h | |
parent | 16dfdcff6e4bb025220b88d5fc132ae48e7cb437 (diff) | |
download | frameworks_av-6b3c1473199927264691bb50445cf0b35c2f8892.zip frameworks_av-6b3c1473199927264691bb50445cf0b35c2f8892.tar.gz frameworks_av-6b3c1473199927264691bb50445cf0b35c2f8892.tar.bz2 |
Implement ClearKey Init Data Parser
Implements an object that can convert ISO-CENC or WebM initialization
data into a ClearKey license request.
Change-Id: Ib95012afcf40fc9e3f45510a468c305fb7bc216e
Diffstat (limited to 'drm/mediadrm/plugins/clearkey/InitDataParser.h')
-rw-r--r-- | drm/mediadrm/plugins/clearkey/InitDataParser.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/drm/mediadrm/plugins/clearkey/InitDataParser.h b/drm/mediadrm/plugins/clearkey/InitDataParser.h new file mode 100644 index 0000000..9505d2a --- /dev/null +++ b/drm/mediadrm/plugins/clearkey/InitDataParser.h @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef CLEARKEY_INIT_DATA_PARSER_H_ +#define CLEARKEY_INIT_DATA_PARSER_H_ + +#include <media/stagefright/foundation/ABase.h> +#include <utils/Errors.h> +#include <utils/String8.h> +#include <utils/Vector.h> + +namespace clearkeydrm { + +class InitDataParser { +public: + InitDataParser() {} + + android::status_t parse(const android::Vector<uint8_t>& initData, + const android::String8& initDataType, + android::Vector<uint8_t>* licenseRequest); + +private: + DISALLOW_EVIL_CONSTRUCTORS(InitDataParser); + + android::status_t parsePssh(const android::Vector<uint8_t>& initData, + android::Vector<const uint8_t*>* keyIds); + + android::String8 generateRequest( + const android::Vector<const uint8_t*>& keyIds); +}; + +} // namespace clearkeydrm + +#endif // CLEARKEY_INIT_DATA_PARSER_H_ |