| Index: media/webm/webm_cluster_parser.cc
|
| diff --git a/media/webm/webm_cluster_parser.cc b/media/webm/webm_cluster_parser.cc
|
| index 8151ec6b4604a90eb24eef0a72c6921137e69f9a..92f1dc79a9e3192475b43d4c194d7038a88241ae 100644
|
| --- a/media/webm/webm_cluster_parser.cc
|
| +++ b/media/webm/webm_cluster_parser.cc
|
| @@ -6,13 +6,17 @@
|
|
|
| #include "base/logging.h"
|
| #include "media/base/data_buffer.h"
|
| +#include "media/ffmpeg/ffmpeg_common.h"
|
| #include "media/webm/webm_constants.h"
|
|
|
| namespace media {
|
|
|
| static Buffer* CreateBuffer(const uint8* data, size_t size) {
|
| - scoped_array<uint8> buf(new uint8[size]);
|
| + // Why FF_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
|
| + // padded with this value.
|
| + scoped_array<uint8> buf(new uint8[size + FF_INPUT_BUFFER_PADDING_SIZE]);
|
| memcpy(buf.get(), data, size);
|
| + memset(buf.get() + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
| return new DataBuffer(buf.Pass(), size);
|
| }
|
|
|
| @@ -129,7 +133,7 @@ bool WebMClusterParser::OnSimpleBlock(int track_num, int timecode,
|
| if (!queue->empty() &&
|
| buffer->GetTimestamp() == queue->back()->GetTimestamp()) {
|
| DVLOG(1) << "Got SimpleBlock timecode is not strictly monotonically "
|
| - << "increasing for track " << track_num;
|
| + << "increasing for track " << track_num;
|
| return false;
|
| }
|
|
|
|
|