Index: public/platform/WebMediaSource.h |
diff --git a/public/platform/WebMediaSource.h b/public/platform/WebMediaSource.h |
index 1ba3be7f869fcbeb867bd88ffa4fe5f8381bffdc..eb12c1d618c95977e60164d61e418634232f40de 100644 |
--- a/public/platform/WebMediaSource.h |
+++ b/public/platform/WebMediaSource.h |
@@ -52,9 +52,26 @@ public: |
EndOfStreamStatusDecodeError, |
}; |
+ enum FrameProcessorChoice { |
+ UseLegacyFrameProcessor, |
+ UseNewFrameProcessor |
+ }; |
+ |
virtual ~WebMediaSource() { } |
- virtual AddStatus addSourceBuffer(const WebString& type, const WebVector<WebString>& codecs, WebSourceBuffer**) = 0; |
+ // FIXME: Remove addSourceBuffer() that has no FrameProcessorChoice, and |
+ // remove the default implementation for the addSourceBuffer() that has |
+ // FrameProcessorChoice once the latter's Chromium implementation has |
+ // landed. See http://crbug.com/249422. |
+ virtual AddStatus addSourceBuffer(const WebString& type, const WebVector<WebString>& codecs, WebSourceBuffer** webSourceBuffer) |
+ { |
+ return addSourceBuffer(type, codecs, WebMediaSource::UseLegacyFrameProcessor, webSourceBuffer); |
+ } |
+ virtual AddStatus addSourceBuffer(const WebString& type, const WebVector<WebString>& codecs, const FrameProcessorChoice choice, WebSourceBuffer** webSourceBuffer) |
+ { |
+ return addSourceBuffer(type, codecs, webSourceBuffer); |
+ } |
+ |
virtual double duration() = 0; |
virtual void setDuration(double) = 0; |
virtual void markEndOfStream(EndOfStreamStatus) = 0; |