1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef MEDIA_CDM_CENC_UTILS_H_
6 #define MEDIA_CDM_CENC_UTILS_H_
10 #include "base/basictypes.h"
11 #include "media/base/media_export.h"
15 // Validate that |input| is a set of concatenated 'pssh' boxes and the sizes
16 // match. Returns true if |input| looks valid, false otherwise.
17 MEDIA_EXPORT
bool ValidatePsshInput(const uint8
* input
, size_t input_length
);
19 // Gets the Key Ids from a 'pssh' box for the Common SystemID among one or
20 // more concatenated 'pssh' boxes. If |input| looks valid, then true is
21 // returned and |key_ids| is updated to contain the values found. Otherwise
23 // TODO(jrummell): This returns true if no Common SystemID 'pssh' boxes are
24 // found, or are included but don't contain any key IDs. This should be
25 // fixed once the test files are updated to include correct 'pssh' boxes.
26 // http://crbug.com/460308
27 MEDIA_EXPORT
bool GetKeyIdsForCommonSystemId(
30 std::vector
<std::vector
<uint8
>>* key_ids
);
34 #endif // MEDIA_CDM_CENC_UTILS_H_