Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "media/base/encoded_bitstream_buffer.h" | |
| 6 | |
| 7 #include <iomanip> | |
| 8 | |
| 9 #include "base/logging.h" | |
| 10 #include "base/md5.h" | |
| 11 #include "base/stringprintf.h" | |
| 12 | |
| 13 namespace media { | |
| 14 | |
| 15 EncodedBitstreamBuffer::EncodedBitstreamBuffer( | |
| 16 base::SharedMemoryHandle handle, | |
| 17 size_t size, | |
| 18 const media::BufferEncodingMetadata& metadata) | |
| 19 : shm_(handle, true), | |
| 20 size_(size), | |
| 21 metadata_(metadata) { | |
| 22 CHECK(shm_.Map(size_)); | |
| 23 } | |
| 24 | |
| 25 EncodedBitstreamBuffer::~EncodedBitstreamBuffer() { | |
| 26 } | |
| 27 | |
| 28 const uint8* EncodedBitstreamBuffer::buffer() const { | |
| 29 return reinterpret_cast<const uint8*>(shm_.memory()); | |
| 30 } | |
| 31 | |
| 32 size_t EncodedBitstreamBuffer::size() const { | |
| 33 return size_; | |
| 34 } | |
| 35 | |
| 36 const media::BufferEncodingMetadata& EncodedBitstreamBuffer::metadata() const { | |
| 37 return metadata_; | |
| 38 } | |
| 39 | |
| 40 std::string EncodedBitstreamBuffer::ToDebugString() const { | |
| 41 std::string debug_string; | |
| 42 base::MD5Digest digest; | |
| 43 if (metadata_.frame_type_flags & media::kVP8KeyFrame) { | |
| 44 base::StringAppendF(&debug_string, "[I]"); | |
| 45 } else { | |
| 46 base::StringAppendF(&debug_string, "["); | |
| 47 if (metadata_.frame_type_flags & media::kVP8GoldenFrame) | |
| 48 base::StringAppendF(&debug_string, "G"); | |
| 49 if (metadata_.frame_type_flags & media::kVP8AltrefFrame) | |
| 50 base::StringAppendF(&debug_string, "A"); | |
| 51 if (metadata_.droppable) | |
| 52 base::StringAppendF(&debug_string, "-"); | |
| 53 if (!(metadata_.frame_type_flags & media::kVP8GoldenFrame) && | |
| 54 !(metadata_.frame_type_flags & media::kVP8AltrefFrame) && | |
| 55 !(metadata_.droppable)) | |
|
tommi (sloooow) - chröme
2013/03/21 14:48:05
{}
| |
| 56 base::StringAppendF(&debug_string, "P"); | |
| 57 base::StringAppendF(&debug_string, "]"); | |
| 58 } | |
| 59 base::StringAppendF(&debug_string, " tl: [%i", metadata_.temporal_layer_id); | |
| 60 if (metadata_.layer_sync) | |
| 61 base::StringAppendF(&debug_string, "S"); | |
| 62 base::StringAppendF(&debug_string, "]"); | |
| 63 base::StringAppendF(&debug_string, | |
| 64 " time: %.3f", | |
| 65 metadata_.timestamp.ToDoubleT()); | |
| 66 base::StringAppendF(&debug_string, " (%lu bytes),", size()); | |
| 67 base::MD5Sum(buffer(), size(), &digest); | |
| 68 base::StringAppendF(&debug_string, | |
| 69 " %s", | |
| 70 base::MD5DigestToBase16(digest).c_str()); | |
| 71 return debug_string; | |
| 72 } | |
| 73 | |
| 74 } // namespace media | |
| 75 | |
| OLD | NEW |