1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CONTENT_RENDERER_MEDIA_WEBSOURCEBUFFER_IMPL_H_
6 #define CONTENT_RENDERER_MEDIA_WEBSOURCEBUFFER_IMPL_H_
10 #include "base/basictypes.h"
11 #include "base/compiler_specific.h"
12 #include "third_party/WebKit/public/web/WebSourceBuffer.h"
20 class WebSourceBufferImpl : public WebKit::WebSourceBuffer {
22 WebSourceBufferImpl(const std::string& id, media::ChunkDemuxer* demuxer);
23 virtual ~WebSourceBufferImpl();
25 // WebKit::WebSourceBuffer implementation.
26 virtual WebKit::WebTimeRanges buffered() OVERRIDE;
27 virtual void append(const unsigned char* data, unsigned length) OVERRIDE;
28 virtual void abort() OVERRIDE;
29 // TODO(acolwell): Add OVERRIDE when Blink-side changes land.
30 virtual void remove(double start, double end);
31 virtual bool setTimestampOffset(double offset) OVERRIDE;
32 // TODO(acolwell): Add OVERRIDE when Blink-side changes land.
33 virtual void setAppendWindowStart(double start);
34 virtual void setAppendWindowEnd(double end);
35 virtual void removedFromMediaSource() OVERRIDE;
39 media::ChunkDemuxer* demuxer_; // Owned by WebMediaPlayerImpl.
41 DISALLOW_COPY_AND_ASSIGN(WebSourceBufferImpl);
44 } // namespace content
46 #endif // CONTENT_RENDERER_MEDIA_WEBSOURCEBUFFER_IMPL_H_