summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2020-11-24 20:52:05 -0800
committerHaibo Huang <hhb@google.com>2020-11-24 20:52:05 -0800
commit70741591ae62628dd8727ea3e67609e2c87dc8f3 (patch)
treee19958047f25fcb13c71233454e51b44eb0589c0
parentdcaf20a12f8fa5680c5c9a03eafff9e8c7fb8a83 (diff)
parent485fb67b324aec5298765e899dc054459d3946e5 (diff)
downloadlibwebm-70741591ae62628dd8727ea3e67609e2c87dc8f3.tar.gz
Upgrade libwebm to 485fb67b324aec5298765e899dc054459d3946e5
Test: make Change-Id: Ic4316c2f1a550a3f24326e5efe725e4597b7d3e3
-rw-r--r--METADATA12
-rw-r--r--mkvmuxer/mkvmuxer.cc27
2 files changed, 25 insertions, 14 deletions
diff --git a/METADATA b/METADATA
index 2187c84..44ea270 100644
--- a/METADATA
+++ b/METADATA
@@ -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;