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

Side by Side 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, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromecast/media/cma/base/decoder_buffer_adapter.h" 5 #include "chromecast/media/cma/base/decoder_buffer_adapter.h"
6 6
7 #include "chromecast/base/time_conversions.h"
8 #include "chromecast/media/cma/base/decrypt_config_impl.h"
9 #include "chromecast/public/media/decrypt_config.h"
7 #include "media/base/decoder_buffer.h" 10 #include "media/base/decoder_buffer.h"
8 11
9 namespace chromecast { 12 namespace chromecast {
10 namespace media { 13 namespace media {
11 14
12 DecoderBufferAdapter::DecoderBufferAdapter( 15 DecoderBufferAdapter::DecoderBufferAdapter(
13 const scoped_refptr<::media::DecoderBuffer>& buffer) 16 const scoped_refptr<::media::DecoderBuffer>& buffer)
14 : DecoderBufferAdapter(kPrimary, buffer) { 17 : DecoderBufferAdapter(kPrimary, buffer) {
15 } 18 }
16 19
17 DecoderBufferAdapter::DecoderBufferAdapter( 20 DecoderBufferAdapter::DecoderBufferAdapter(
18 StreamId stream_id, const scoped_refptr<::media::DecoderBuffer>& buffer) 21 StreamId stream_id, const scoped_refptr<::media::DecoderBuffer>& buffer)
19 : stream_id_(stream_id), 22 : stream_id_(stream_id),
20 buffer_(buffer) { 23 buffer_(buffer) {
21 } 24 }
22 25
23 DecoderBufferAdapter::~DecoderBufferAdapter() { 26 DecoderBufferAdapter::~DecoderBufferAdapter() {
24 } 27 }
25 28
26 StreamId DecoderBufferAdapter::stream_id() const { 29 StreamId DecoderBufferAdapter::stream_id() const {
27 return stream_id_; 30 return stream_id_;
28 } 31 }
29 32
30 base::TimeDelta DecoderBufferAdapter::timestamp() const { 33 TimeDelta DecoderBufferAdapter::timestamp() const {
31 return buffer_->timestamp(); 34 return FromBaseTimeDelta(buffer_->timestamp());
32 } 35 }
33 36
34 void DecoderBufferAdapter::set_timestamp(const base::TimeDelta& timestamp) { 37 void DecoderBufferAdapter::set_timestamp(TimeDelta timestamp) {
35 buffer_->set_timestamp(timestamp); 38 buffer_->set_timestamp(ToBaseTimeDelta(timestamp));
36 } 39 }
37 40
38 const uint8* DecoderBufferAdapter::data() const { 41 const uint8* DecoderBufferAdapter::data() const {
39 return buffer_->data(); 42 return buffer_->data();
40 } 43 }
41 44
42 uint8* DecoderBufferAdapter::writable_data() const { 45 uint8* DecoderBufferAdapter::writable_data() const {
43 return buffer_->writable_data(); 46 return buffer_->writable_data();
44 } 47 }
45 48
46 size_t DecoderBufferAdapter::data_size() const { 49 size_t DecoderBufferAdapter::data_size() const {
47 return buffer_->data_size(); 50 return buffer_->data_size();
48 } 51 }
49 52
50 const ::media::DecryptConfig* DecoderBufferAdapter::decrypt_config() const { 53 const DecryptConfig* DecoderBufferAdapter::decrypt_config() const {
51 return buffer_->decrypt_config(); 54 if (buffer_->decrypt_config() && !decrypt_config_) {
55 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
56 std::vector<SubsampleEntry> subsamples;
57 for (const auto& sample : config->subsamples()) {
58 subsamples.push_back(
59 SubsampleEntry(sample.clear_bytes, sample.cypher_bytes));
60 }
61 decrypt_config_.reset(
62 new DecryptConfigImpl(config->key_id(), config->iv(), subsamples));
63 }
64
65 return decrypt_config_.get();
52 } 66 }
53 67
54 bool DecoderBufferAdapter::end_of_stream() const { 68 bool DecoderBufferAdapter::end_of_stream() const {
55 return buffer_->end_of_stream(); 69 return buffer_->end_of_stream();
56 } 70 }
57 71
58 } // namespace media 72 } // namespace media
59 } // namespace chromecast 73 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698