OLD | NEW |
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 "media/mojo/common/media_type_converters.h" | 5 #include "media/mojo/common/media_type_converters.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 return mojo_buffer; | 111 return mojo_buffer; |
112 } | 112 } |
113 | 113 |
114 mojo_buffer->is_end_of_stream = false; | 114 mojo_buffer->is_end_of_stream = false; |
115 mojo_buffer->timestamp = input->timestamp(); | 115 mojo_buffer->timestamp = input->timestamp(); |
116 mojo_buffer->duration = input->duration(); | 116 mojo_buffer->duration = input->duration(); |
117 mojo_buffer->is_key_frame = input->is_key_frame(); | 117 mojo_buffer->is_key_frame = input->is_key_frame(); |
118 mojo_buffer->data_size = base::checked_cast<uint32_t>(input->data_size()); | 118 mojo_buffer->data_size = base::checked_cast<uint32_t>(input->data_size()); |
119 mojo_buffer->front_discard = input->discard_padding().first; | 119 mojo_buffer->front_discard = input->discard_padding().first; |
120 mojo_buffer->back_discard = input->discard_padding().second; | 120 mojo_buffer->back_discard = input->discard_padding().second; |
121 mojo_buffer->splice_timestamp = input->splice_timestamp(); | |
122 | 121 |
123 // Note: The side data is always small, so this copy is okay. | 122 // Note: The side data is always small, so this copy is okay. |
124 if (input->side_data()) { | 123 if (input->side_data()) { |
125 DCHECK_GT(input->side_data_size(), 0u); | 124 DCHECK_GT(input->side_data_size(), 0u); |
126 mojo_buffer->side_data.assign(input->side_data(), | 125 mojo_buffer->side_data.assign(input->side_data(), |
127 input->side_data() + input->side_data_size()); | 126 input->side_data() + input->side_data_size()); |
128 } | 127 } |
129 | 128 |
130 if (input->decrypt_config()) { | 129 if (input->decrypt_config()) { |
131 mojo_buffer->decrypt_config = | 130 mojo_buffer->decrypt_config = |
(...skipping 26 matching lines...) Expand all Loading... |
158 buffer->set_is_key_frame(input->is_key_frame); | 157 buffer->set_is_key_frame(input->is_key_frame); |
159 | 158 |
160 if (input->decrypt_config) { | 159 if (input->decrypt_config) { |
161 buffer->set_decrypt_config( | 160 buffer->set_decrypt_config( |
162 input->decrypt_config.To<std::unique_ptr<media::DecryptConfig>>()); | 161 input->decrypt_config.To<std::unique_ptr<media::DecryptConfig>>()); |
163 } | 162 } |
164 | 163 |
165 media::DecoderBuffer::DiscardPadding discard_padding(input->front_discard, | 164 media::DecoderBuffer::DiscardPadding discard_padding(input->front_discard, |
166 input->back_discard); | 165 input->back_discard); |
167 buffer->set_discard_padding(discard_padding); | 166 buffer->set_discard_padding(discard_padding); |
168 buffer->set_splice_timestamp(input->splice_timestamp); | |
169 | 167 |
170 // TODO(dalecurtis): We intentionally do not deserialize the data section of | 168 // TODO(dalecurtis): We intentionally do not deserialize the data section of |
171 // the DecoderBuffer here; this must instead be done by clients via their | 169 // the DecoderBuffer here; this must instead be done by clients via their |
172 // own DataPipe. See http://crbug.com/432960 | 170 // own DataPipe. See http://crbug.com/432960 |
173 | 171 |
174 return buffer; | 172 return buffer; |
175 } | 173 } |
176 | 174 |
177 // static | 175 // static |
178 media::mojom::AudioDecoderConfigPtr | 176 media::mojom::AudioDecoderConfigPtr |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 input->format, input->coded_size, input->visible_rect, | 378 input->format, input->coded_size, input->visible_rect, |
381 input->natural_size, std::move(data->frame_data), | 379 input->natural_size, std::move(data->frame_data), |
382 base::saturated_cast<size_t>(data->frame_data_size), | 380 base::saturated_cast<size_t>(data->frame_data_size), |
383 base::saturated_cast<size_t>(data->y_offset), | 381 base::saturated_cast<size_t>(data->y_offset), |
384 base::saturated_cast<size_t>(data->u_offset), | 382 base::saturated_cast<size_t>(data->u_offset), |
385 base::saturated_cast<size_t>(data->v_offset), data->y_stride, | 383 base::saturated_cast<size_t>(data->v_offset), data->y_stride, |
386 data->u_stride, data->v_stride, input->timestamp); | 384 data->u_stride, data->v_stride, input->timestamp); |
387 } | 385 } |
388 | 386 |
389 } // namespace mojo | 387 } // namespace mojo |
OLD | NEW |