summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorwolenetz@chromium.org <wolenetz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-14 16:28:47 +0000
committerwolenetz@chromium.org <wolenetz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-14 16:28:47 +0000
commitd629cf0ee9accda8464490d917e2b594489f2146 (patch)
tree6d19d52b3a799a8292a67500e468b5e242316aa2 /content
parent6ff2247141fa20afb0b3029686ecbcc2398aade3 (diff)
downloadchromium_src-d629cf0ee9accda8464490d917e2b594489f2146.zip
chromium_src-d629cf0ee9accda8464490d917e2b594489f2146.tar.gz
chromium_src-d629cf0ee9accda8464490d917e2b594489f2146.tar.bz2
Let WebSourceBufferImpl::setMode() update SourceState::sequence_mode_
Connects WebSourceBufferImpl::setMode() to similar ChunkDemuxer and SourceState methods to enable setting SourceState::sequence_mode_. Later changes will implement processing of distinct 'segments' and 'sequence' append modes. R=acolwell@chromium.org TEST=On local Linux, all mediasource layout tests and media_unittests pass BUG=249422 Review URL: https://codereview.chromium.org/134883002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244741 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/renderer/media/webmediasource_impl.cc2
-rw-r--r--content/renderer/media/websourcebuffer_impl.cc13
-rw-r--r--content/renderer/media/websourcebuffer_impl.h1
3 files changed, 14 insertions, 2 deletions
diff --git a/content/renderer/media/webmediasource_impl.cc b/content/renderer/media/webmediasource_impl.cc
index d1a2dfb..365fc01 100644
--- a/content/renderer/media/webmediasource_impl.cc
+++ b/content/renderer/media/webmediasource_impl.cc
@@ -73,8 +73,6 @@ void WebMediaSourceImpl::markEndOfStream(
case WebMediaSource::EndOfStreamStatusDecodeError:
pipeline_status = media::PIPELINE_ERROR_DECODE;
break;
- default:
- NOTIMPLEMENTED();
}
demuxer_->MarkEndOfStream(pipeline_status);
diff --git a/content/renderer/media/websourcebuffer_impl.cc b/content/renderer/media/websourcebuffer_impl.cc
index c942977..a7d8d8a 100644
--- a/content/renderer/media/websourcebuffer_impl.cc
+++ b/content/renderer/media/websourcebuffer_impl.cc
@@ -36,6 +36,19 @@ WebSourceBufferImpl::~WebSourceBufferImpl() {
DCHECK(!demuxer_) << "Object destroyed w/o removedFromMediaSource() call";
}
+bool WebSourceBufferImpl::setMode(WebSourceBuffer::AppendMode mode) {
+ bool sequence_mode = false;
+ switch (mode) {
+ case WebSourceBuffer::AppendModeSegments:
+ break;
+ case WebSourceBuffer::AppendModeSequence:
+ sequence_mode = true;
+ break;
+ }
+
+ return demuxer_->SetSequenceMode(id_, sequence_mode);
+}
+
blink::WebTimeRanges WebSourceBufferImpl::buffered() {
media::Ranges<base::TimeDelta> ranges = demuxer_->GetBufferedRanges(id_);
blink::WebTimeRanges result(ranges.size());
diff --git a/content/renderer/media/websourcebuffer_impl.h b/content/renderer/media/websourcebuffer_impl.h
index 2daf9c0..f863d22 100644
--- a/content/renderer/media/websourcebuffer_impl.h
+++ b/content/renderer/media/websourcebuffer_impl.h
@@ -23,6 +23,7 @@ class WebSourceBufferImpl : public blink::WebSourceBuffer {
virtual ~WebSourceBufferImpl();
// blink::WebSourceBuffer implementation.
+ virtual bool setMode(AppendMode mode);
virtual blink::WebTimeRanges buffered();
virtual void append(const unsigned char* data, unsigned length);
virtual void abort();