diff options
author | wolenetz@chromium.org <wolenetz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-14 16:28:47 +0000 |
---|---|---|
committer | wolenetz@chromium.org <wolenetz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-14 16:28:47 +0000 |
commit | d629cf0ee9accda8464490d917e2b594489f2146 (patch) | |
tree | 6d19d52b3a799a8292a67500e468b5e242316aa2 /content | |
parent | 6ff2247141fa20afb0b3029686ecbcc2398aade3 (diff) | |
download | chromium_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.cc | 2 | ||||
-rw-r--r-- | content/renderer/media/websourcebuffer_impl.cc | 13 | ||||
-rw-r--r-- | content/renderer/media/websourcebuffer_impl.h | 1 |
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(); |