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

Side by Side Diff: media/formats/webm/opus_packet_builder.h

Issue 2895573002: Reland of Remove ScopedVector from all other codes in media/ (Closed)
Patch Set: Fix the compile fails in build target "jpeg_decode_accelerator_unittest" Created 3 years, 7 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 (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 #ifndef MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_ 5 #ifndef MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_
6 #define MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_ 6 #define MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <memory> 10 #include <memory>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/macros.h" 13 #include "base/macros.h"
14 #include "base/memory/scoped_vector.h"
15 14
16 namespace media { 15 namespace media {
17 16
18 // From Opus RFC. See https://tools.ietf.org/html/rfc6716#page-14 17 // From Opus RFC. See https://tools.ietf.org/html/rfc6716#page-14
19 enum OpusConstants { 18 enum OpusConstants {
20 kNumPossibleOpusConfigs = 32, 19 kNumPossibleOpusConfigs = 32,
21 kMinOpusPacketFrameCount = 1, 20 kMinOpusPacketFrameCount = 1,
22 kMaxOpusPacketFrameCount = 48 21 kMaxOpusPacketFrameCount = 48
23 }; 22 };
24 23
25 class OpusPacket { 24 class OpusPacket {
26 public: 25 public:
27 OpusPacket(uint8_t config, uint8_t frame_count, bool is_VBR); 26 OpusPacket(uint8_t config, uint8_t frame_count, bool is_VBR);
28 ~OpusPacket(); 27 ~OpusPacket();
29 28
30 const uint8_t* data() const; 29 const uint8_t* data() const;
31 int size() const; 30 int size() const;
32 double duration_ms() const; 31 double duration_ms() const;
33 32
34 private: 33 private:
35 std::vector<uint8_t> data_; 34 std::vector<uint8_t> data_;
36 double duration_ms_; 35 double duration_ms_;
37 36
38 DISALLOW_COPY_AND_ASSIGN(OpusPacket); 37 DISALLOW_COPY_AND_ASSIGN(OpusPacket);
39 }; 38 };
40 39
41 // Builds an exhaustive collection of Opus packet configurations. 40 // Builds an exhaustive collection of Opus packet configurations.
42 ScopedVector<OpusPacket> BuildAllOpusPackets(); 41 std::vector<std::unique_ptr<OpusPacket>> BuildAllOpusPackets();
43 42
44 } // namespace media 43 } // namespace media
45 44
46 #endif // MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_ 45 #endif // MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_
OLDNEW
« no previous file with comments | « media/cdm/ppapi/external_clear_key/clear_key_cdm.cc ('k') | media/formats/webm/opus_packet_builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698