Index: media/formats/webm/cluster_builder.cc |
diff --git a/media/formats/webm/cluster_builder.cc b/media/formats/webm/cluster_builder.cc |
index bada9e2f79c7406974d276a9066dcae71d088b65..1a3b358ef99c64989b658bdd67149710446556f6 100644 |
--- a/media/formats/webm/cluster_builder.cc |
+++ b/media/formats/webm/cluster_builder.cc |
@@ -6,6 +6,7 @@ |
#include "base/logging.h" |
#include "media/base/data_buffer.h" |
+#include "media/formats/webm/webm_constants.h" |
namespace media { |
@@ -180,6 +181,16 @@ scoped_ptr<Cluster> ClusterBuilder::Finish() { |
return ret.Pass(); |
} |
+scoped_ptr<Cluster> ClusterBuilder::FinishWithUnknownSize() { |
+ DCHECK_NE(cluster_timecode_, -1); |
+ |
+ UpdateUInt64(kClusterSizeOffset, kWebMUnknownSize); |
+ |
+ scoped_ptr<Cluster> ret(new Cluster(buffer_.Pass(), bytes_used_)); |
+ Reset(); |
+ return ret.Pass(); |
+} |
+ |
void ClusterBuilder::Reset() { |
buffer_size_ = kInitialBufferSize; |
buffer_.reset(new uint8[buffer_size_]); |