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

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

Issue 2893953002: Revert of Remove ScopedVector from all other codes in media/ (Closed)
Patch Set: 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"
14 15
15 namespace media { 16 namespace media {
16 17
17 // From Opus RFC. See https://tools.ietf.org/html/rfc6716#page-14 18 // From Opus RFC. See https://tools.ietf.org/html/rfc6716#page-14
18 enum OpusConstants { 19 enum OpusConstants {
19 kNumPossibleOpusConfigs = 32, 20 kNumPossibleOpusConfigs = 32,
20 kMinOpusPacketFrameCount = 1, 21 kMinOpusPacketFrameCount = 1,
21 kMaxOpusPacketFrameCount = 48 22 kMaxOpusPacketFrameCount = 48
22 }; 23 };
23 24
24 class OpusPacket { 25 class OpusPacket {
25 public: 26 public:
26 OpusPacket(uint8_t config, uint8_t frame_count, bool is_VBR); 27 OpusPacket(uint8_t config, uint8_t frame_count, bool is_VBR);
27 ~OpusPacket(); 28 ~OpusPacket();
28 29
29 const uint8_t* data() const; 30 const uint8_t* data() const;
30 int size() const; 31 int size() const;
31 double duration_ms() const; 32 double duration_ms() const;
32 33
33 private: 34 private:
34 std::vector<uint8_t> data_; 35 std::vector<uint8_t> data_;
35 double duration_ms_; 36 double duration_ms_;
36 37
37 DISALLOW_COPY_AND_ASSIGN(OpusPacket); 38 DISALLOW_COPY_AND_ASSIGN(OpusPacket);
38 }; 39 };
39 40
40 // Builds an exhaustive collection of Opus packet configurations. 41 // Builds an exhaustive collection of Opus packet configurations.
41 std::vector<std::unique_ptr<OpusPacket>> BuildAllOpusPackets(); 42 ScopedVector<OpusPacket> BuildAllOpusPackets();
42 43
43 } // namespace media 44 } // namespace media
44 45
45 #endif // MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_ 46 #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