| Index: media/formats/webm/webm_cluster_parser.cc
|
| diff --git a/media/formats/webm/webm_cluster_parser.cc b/media/formats/webm/webm_cluster_parser.cc
|
| index e206107c8b4f6d75b9b0205e401b3e38a8b8be48..41bc8e30f6a6f959fee610f0db88d773a644e064 100644
|
| --- a/media/formats/webm/webm_cluster_parser.cc
|
| +++ b/media/formats/webm/webm_cluster_parser.cc
|
| @@ -191,12 +191,6 @@ bool WebMClusterParser::OnUInt(int id, int64 val) {
|
| case kWebMIdBlockAddID:
|
| dst = &block_add_id_;
|
| break;
|
| - case kWebMIdDiscardPadding:
|
| - if (discard_padding_set_)
|
| - return false;
|
| - discard_padding_set_ = true;
|
| - discard_padding_ = val;
|
| - return true;
|
| default:
|
| return true;
|
| }
|
| @@ -278,7 +272,18 @@ bool WebMClusterParser::OnBinary(int id, const uint8* data, int size) {
|
| memcpy(block_additional_data_.get() + 8, data, size);
|
| return true;
|
| }
|
| + case kWebMIdDiscardPadding: {
|
| + if (discard_padding_set_ || size <= 0 || size > 8)
|
| + return false;
|
| + discard_padding_set_ = true;
|
| +
|
| + // Read in the big-endian integer.
|
| + discard_padding_ = static_cast<int8>(data[0]);
|
| + for (int i = 1; i < size; ++i)
|
| + discard_padding_ = (discard_padding_ << 8) | data[i];
|
|
|
| + return true;
|
| + }
|
| default:
|
| return true;
|
| }
|
|
|