Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1333)

Unified Diff: media/cdm/ppapi/external_clear_key/clear_key_cdm.cc

Issue 2582463003: media: Verify CDM Host files (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
diff --git a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
index 3946ab61c7cced9c25aed19058ab2a21c8a34c62..78870e33379a27cd14d0ab743eaf18aa4aadfd14 100644
--- a/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
+++ b/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
@@ -10,6 +10,7 @@
#include <utility>
#include "base/bind.h"
+#include "base/files/file.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/time/time.h"
@@ -18,6 +19,7 @@
#include "media/base/cdm_key_information.h"
#include "media/base/decoder_buffer.h"
#include "media/base/decrypt_config.h"
+#include "media/cdm/content_decryption_module_ext.h"
#include "media/cdm/json_web_key.h"
#include "media/cdm/ppapi/cdm_file_io_test.h"
#include "media/cdm/ppapi/external_clear_key/cdm_video_decoder.h"
@@ -257,6 +259,31 @@ const char* GetCdmVersion() {
return kClearKeyCdmVersion;
}
+// TODO(xhwang): Add a browser test to cover this path.
+void VerifyHostFiles(const cdm::CdmHostFile* cdm_host_files,
+ uint32_t num_files) {
+ DVLOG(1) << __FUNCTION__;
+
+ LOG(ERROR) << "num_files: " << num_files;
+ for (uint32_t i = 0; i < num_files; ++i) {
+ LOG(ERROR) << "Path " << i << ": " << cdm_host_files[i].file_path;
tinskip1 2017/01/09 23:49:30 Why is this necessary? Let the CDM figure out if t
xhwang 2017/01/12 20:15:02 This is only for my own logging. Will remove.
xhwang 2017/01/18 06:03:59 Done.
+ std::vector<char> buffer(10);
+
+ base::File file(static_cast<base::PlatformFile>(cdm_host_files[i].file));
+ int bytes_read = file.Read(0, buffer.data(), buffer.size());
+ LOG(ERROR) << "File bytes read: " << bytes_read;
+ DCHECK_EQ(10, bytes_read) << "Read failed.";
+
+ base::File sig_file(
+ static_cast<base::PlatformFile>(cdm_host_files[i].sig_file));
+ bytes_read = sig_file.Read(0, buffer.data(), buffer.size());
+ LOG(ERROR) << "Sig file bytes read: " << bytes_read;
+ DCHECK_EQ(10, bytes_read) << "Read failed.";
+ }
jrummell 2016/12/16 20:21:30 How about trying write() and checking that it fail
xhwang 2017/01/12 20:15:02 Good point. Will do.
xhwang 2017/01/18 06:03:59 Done.
+
+ // TODO(xhwang): Close all files.
+}
+
namespace media {
ClearKeyCdm::ClearKeyCdm(ClearKeyCdmHost* host,
« media/cdm/content_decryption_module_ext.h ('K') | « media/cdm/content_decryption_module_ext.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698