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

Side by Side Diff: media/formats/webm/cluster_builder.cc

Issue 1544313002: Convert Pass()→std::move() in //media (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
« no previous file with comments | « media/filters/video_frame_stream_unittest.cc ('k') | media/formats/webm/opus_packet_builder.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "media/formats/webm/cluster_builder.h" 5 #include "media/formats/webm/cluster_builder.h"
6 6
7 #include <utility>
8
7 #include "base/logging.h" 9 #include "base/logging.h"
8 #include "media/base/data_buffer.h" 10 #include "media/base/data_buffer.h"
9 #include "media/formats/webm/webm_constants.h" 11 #include "media/formats/webm/webm_constants.h"
10 12
11 namespace media { 13 namespace media {
12 14
13 static const uint8_t kClusterHeader[] = { 15 static const uint8_t kClusterHeader[] = {
14 0x1F, 0x43, 0xB6, 0x75, // CLUSTER ID 16 0x1F, 0x43, 0xB6, 0x75, // CLUSTER ID
15 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // cluster(size = 0) 17 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // cluster(size = 0)
16 0xE7, // Timecode ID 18 0xE7, // Timecode ID
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 50
49 kBlockGroupSizeOffset = 1, 51 kBlockGroupSizeOffset = 1,
50 kBlockGroupWithoutBlockDurationBlockSizeOffset = 10, 52 kBlockGroupWithoutBlockDurationBlockSizeOffset = 10,
51 kBlockGroupDurationOffset = 11, 53 kBlockGroupDurationOffset = 11,
52 kBlockGroupBlockSizeOffset = 20, 54 kBlockGroupBlockSizeOffset = 20,
53 55
54 kInitialBufferSize = 32768, 56 kInitialBufferSize = 32768,
55 }; 57 };
56 58
57 Cluster::Cluster(scoped_ptr<uint8_t[]> data, int size) 59 Cluster::Cluster(scoped_ptr<uint8_t[]> data, int size)
58 : data_(data.Pass()), size_(size) {} 60 : data_(std::move(data)), size_(size) {}
59 Cluster::~Cluster() {} 61 Cluster::~Cluster() {}
60 62
61 ClusterBuilder::ClusterBuilder() { Reset(); } 63 ClusterBuilder::ClusterBuilder() { Reset(); }
62 ClusterBuilder::~ClusterBuilder() {} 64 ClusterBuilder::~ClusterBuilder() {}
63 65
64 void ClusterBuilder::SetClusterTimecode(int64_t cluster_timecode) { 66 void ClusterBuilder::SetClusterTimecode(int64_t cluster_timecode) {
65 DCHECK_EQ(cluster_timecode_, -1); 67 DCHECK_EQ(cluster_timecode_, -1);
66 68
67 cluster_timecode_ = cluster_timecode; 69 cluster_timecode_ = cluster_timecode;
68 70
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 buf[2] = timecode_delta & 0xff; 184 buf[2] = timecode_delta & 0xff;
183 buf[3] = flags & 0xff; 185 buf[3] = flags & 0xff;
184 memcpy(buf + 4, data, size); 186 memcpy(buf + 4, data, size);
185 } 187 }
186 188
187 scoped_ptr<Cluster> ClusterBuilder::Finish() { 189 scoped_ptr<Cluster> ClusterBuilder::Finish() {
188 DCHECK_NE(cluster_timecode_, -1); 190 DCHECK_NE(cluster_timecode_, -1);
189 191
190 UpdateUInt64(kClusterSizeOffset, bytes_used_ - (kClusterSizeOffset + 8)); 192 UpdateUInt64(kClusterSizeOffset, bytes_used_ - (kClusterSizeOffset + 8));
191 193
192 scoped_ptr<Cluster> ret(new Cluster(buffer_.Pass(), bytes_used_)); 194 scoped_ptr<Cluster> ret(new Cluster(std::move(buffer_), bytes_used_));
193 Reset(); 195 Reset();
194 return ret.Pass(); 196 return ret;
195 } 197 }
196 198
197 scoped_ptr<Cluster> ClusterBuilder::FinishWithUnknownSize() { 199 scoped_ptr<Cluster> ClusterBuilder::FinishWithUnknownSize() {
198 DCHECK_NE(cluster_timecode_, -1); 200 DCHECK_NE(cluster_timecode_, -1);
199 201
200 UpdateUInt64(kClusterSizeOffset, kWebMUnknownSize); 202 UpdateUInt64(kClusterSizeOffset, kWebMUnknownSize);
201 203
202 scoped_ptr<Cluster> ret(new Cluster(buffer_.Pass(), bytes_used_)); 204 scoped_ptr<Cluster> ret(new Cluster(std::move(buffer_), bytes_used_));
203 Reset(); 205 Reset();
204 return ret.Pass(); 206 return ret;
205 } 207 }
206 208
207 void ClusterBuilder::Reset() { 209 void ClusterBuilder::Reset() {
208 buffer_size_ = kInitialBufferSize; 210 buffer_size_ = kInitialBufferSize;
209 buffer_.reset(new uint8_t[buffer_size_]); 211 buffer_.reset(new uint8_t[buffer_size_]);
210 memcpy(buffer_.get(), kClusterHeader, sizeof(kClusterHeader)); 212 memcpy(buffer_.get(), kClusterHeader, sizeof(kClusterHeader));
211 bytes_used_ = sizeof(kClusterHeader); 213 bytes_used_ = sizeof(kClusterHeader);
212 cluster_timecode_ = -1; 214 cluster_timecode_ = -1;
213 } 215 }
214 216
(...skipping 15 matching lines...) Expand all
230 uint8_t* buf = buffer_.get() + offset; 232 uint8_t* buf = buffer_.get() + offset;
231 233
232 // Fill the last 7 bytes of size field in big-endian order. 234 // Fill the last 7 bytes of size field in big-endian order.
233 for (int i = 7; i > 0; i--) { 235 for (int i = 7; i > 0; i--) {
234 buf[i] = value & 0xff; 236 buf[i] = value & 0xff;
235 value >>= 8; 237 value >>= 8;
236 } 238 }
237 } 239 }
238 240
239 } // namespace media 241 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/video_frame_stream_unittest.cc ('k') | media/formats/webm/opus_packet_builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698