diff options
author | Haibo Huang <hhb@google.com> | 2020-11-24 20:52:05 -0800 |
---|---|---|
committer | Haibo Huang <hhb@google.com> | 2020-11-24 20:52:05 -0800 |
commit | 70741591ae62628dd8727ea3e67609e2c87dc8f3 (patch) | |
tree | e19958047f25fcb13c71233454e51b44eb0589c0 | |
parent | dcaf20a12f8fa5680c5c9a03eafff9e8c7fb8a83 (diff) | |
parent | 485fb67b324aec5298765e899dc054459d3946e5 (diff) | |
download | libwebm-70741591ae62628dd8727ea3e67609e2c87dc8f3.tar.gz |
Upgrade libwebm to 485fb67b324aec5298765e899dc054459d3946e5
Test: make
Change-Id: Ic4316c2f1a550a3f24326e5efe725e4597b7d3e3
-rw-r--r-- | METADATA | 12 | ||||
-rw-r--r-- | mkvmuxer/mkvmuxer.cc | 27 |
2 files changed, 25 insertions, 14 deletions
@@ -1,7 +1,5 @@ name: "libwebm" -description: - "libwebm is a library to read and write Matroska (MKV) and WebM files." - +description: "libwebm is a library to read and write Matroska (MKV) and WebM files." third_party { url { type: HOMEPAGE @@ -11,7 +9,11 @@ third_party { type: GIT value: "https://chromium.googlesource.com/webm/libwebm" } - version: "11cae244cc06c1295bffa9861c610dcde3b9da18" - last_upgrade_date { year: 2020 month: 10 day: 7 } + version: "485fb67b324aec5298765e899dc054459d3946e5" license_type: NOTICE + last_upgrade_date { + year: 2020 + month: 11 + day: 24 + } } diff --git a/mkvmuxer/mkvmuxer.cc b/mkvmuxer/mkvmuxer.cc index 5120312..499fbe6 100644 --- a/mkvmuxer/mkvmuxer.cc +++ b/mkvmuxer/mkvmuxer.cc @@ -2622,7 +2622,8 @@ bool Cluster::Finalize(bool set_last_frame_duration, uint64_t duration) { uint64_t Cluster::Size() const { const uint64_t element_size = - EbmlMasterElementSize(libwebm::kMkvCluster, 0xFFFFFFFFFFFFFFFFULL) + + EbmlMasterElementSize(static_cast<uint64_t>(libwebm::kMkvCluster), + uint64_t{0xFFFFFFFFFFFFFFFFU}) + payload_size_; return element_size; } @@ -4105,12 +4106,16 @@ int Segment::WriteFramesAll() { // places where |doc_type_version_| needs to be updated. if (frame->discard_padding() != 0) doc_type_version_ = 4; - if (!cluster->AddFrame(frame)) - return -1; + if (!cluster->AddFrame(frame)) { + delete frame; + continue; + } if (new_cuepoint_ && cues_track_ == frame->track_number()) { - if (!AddCuePoint(frame->timestamp(), cues_track_)) - return -1; + if (!AddCuePoint(frame->timestamp(), cues_track_)) { + delete frame; + continue; + } } if (frame->timestamp() > last_timestamp_) { @@ -4153,12 +4158,16 @@ bool Segment::WriteFramesLessThan(uint64_t timestamp) { const Frame* const frame_prev = frames_[i - 1]; if (frame_prev->discard_padding() != 0) doc_type_version_ = 4; - if (!cluster->AddFrame(frame_prev)) - return false; + if (!cluster->AddFrame(frame_prev)) { + delete frame_prev; + continue; + } if (new_cuepoint_ && cues_track_ == frame_prev->track_number()) { - if (!AddCuePoint(frame_prev->timestamp(), cues_track_)) - return false; + if (!AddCuePoint(frame_prev->timestamp(), cues_track_)) { + delete frame_prev; + continue; + } } ++shift_left; |