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

Unified Diff: chromecast/media/cma/base/decoder_buffer_adapter.cc

Issue 1257013003: Load CMA backend from shared library (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Unit test + android fixes Created 5 years, 5 months 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: chromecast/media/cma/base/decoder_buffer_adapter.cc
diff --git a/chromecast/media/cma/base/decoder_buffer_adapter.cc b/chromecast/media/cma/base/decoder_buffer_adapter.cc
index ed8a779b5c0eb5e0f331718ab772a91ee71c3599..78b206c067a3381ad26e317087b012da7041010d 100644
--- a/chromecast/media/cma/base/decoder_buffer_adapter.cc
+++ b/chromecast/media/cma/base/decoder_buffer_adapter.cc
@@ -4,6 +4,9 @@
#include "chromecast/media/cma/base/decoder_buffer_adapter.h"
+#include "chromecast/base/time_conversions.h"
+#include "chromecast/media/cma/base/decrypt_config_impl.h"
+#include "chromecast/public/media/decrypt_config.h"
#include "media/base/decoder_buffer.h"
namespace chromecast {
@@ -27,12 +30,12 @@ StreamId DecoderBufferAdapter::stream_id() const {
return stream_id_;
}
-base::TimeDelta DecoderBufferAdapter::timestamp() const {
- return buffer_->timestamp();
+TimeDelta DecoderBufferAdapter::timestamp() const {
+ return FromBaseTimeDelta(buffer_->timestamp());
}
-void DecoderBufferAdapter::set_timestamp(const base::TimeDelta& timestamp) {
- buffer_->set_timestamp(timestamp);
+void DecoderBufferAdapter::set_timestamp(TimeDelta timestamp) {
+ buffer_->set_timestamp(ToBaseTimeDelta(timestamp));
}
const uint8* DecoderBufferAdapter::data() const {
@@ -47,8 +50,19 @@ size_t DecoderBufferAdapter::data_size() const {
return buffer_->data_size();
}
-const ::media::DecryptConfig* DecoderBufferAdapter::decrypt_config() const {
- return buffer_->decrypt_config();
+const DecryptConfig* DecoderBufferAdapter::decrypt_config() const {
+ if (buffer_->decrypt_config() && !decrypt_config_) {
+ const ::media::DecryptConfig* config = buffer_->decrypt_config();
servolk 2015/07/27 21:25:47 Nit: this conversion code should probably be in De
halliwell 2015/07/28 02:19:35 Indeed. Originally I was trying to not have Decry
+ std::vector<SubsampleEntry> subsamples;
+ for (const auto& sample : config->subsamples()) {
+ subsamples.push_back(
+ SubsampleEntry(sample.clear_bytes, sample.cypher_bytes));
+ }
+ decrypt_config_.reset(
+ new DecryptConfigImpl(config->key_id(), config->iv(), subsamples));
+ }
+
+ return decrypt_config_.get();
}
bool DecoderBufferAdapter::end_of_stream() const {

Powered by Google App Engine
This is Rietveld 408576698