Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(832)

Side by Side Diff: media/blink/websourcebuffer_impl.h

Issue 547223003: MSE: Notify Blink SourceBuffer on init segment received (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed nits. Plan is to depend on blink-side CL landing first (https://codereview.chromium.org/55294… Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | media/blink/websourcebuffer_impl.cc » ('j') | media/filters/chunk_demuxer.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MEDIA_BLINK_WEBSOURCEBUFFER_IMPL_H_ 5 #ifndef MEDIA_BLINK_WEBSOURCEBUFFER_IMPL_H_
6 #define MEDIA_BLINK_WEBSOURCEBUFFER_IMPL_H_ 6 #define MEDIA_BLINK_WEBSOURCEBUFFER_IMPL_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/compiler_specific.h" 11 #include "base/compiler_specific.h"
12 #include "base/time/time.h" 12 #include "base/time/time.h"
13 #include "third_party/WebKit/public/platform/WebSourceBuffer.h" 13 #include "third_party/WebKit/public/platform/WebSourceBuffer.h"
14 14
15 namespace media { 15 namespace media {
16 class ChunkDemuxer; 16 class ChunkDemuxer;
17 17
18 class WebSourceBufferImpl : public blink::WebSourceBuffer { 18 class WebSourceBufferImpl : public blink::WebSourceBuffer {
19 public: 19 public:
20 WebSourceBufferImpl(const std::string& id, ChunkDemuxer* demuxer); 20 WebSourceBufferImpl(const std::string& id, ChunkDemuxer* demuxer);
21 virtual ~WebSourceBufferImpl(); 21 virtual ~WebSourceBufferImpl();
22 22
23 // blink::WebSourceBuffer implementation. 23 // blink::WebSourceBuffer implementation.
24 virtual void setClient(blink::WebSourceBufferClient* client);
24 virtual bool setMode(AppendMode mode); 25 virtual bool setMode(AppendMode mode);
25 virtual blink::WebTimeRanges buffered(); 26 virtual blink::WebTimeRanges buffered();
26 virtual void append( 27 virtual void append(
27 const unsigned char* data, 28 const unsigned char* data,
28 unsigned length, 29 unsigned length,
29 double* timestamp_offset); 30 double* timestamp_offset);
30 virtual void abort(); 31 virtual void abort();
31 virtual void remove(double start, double end); 32 virtual void remove(double start, double end);
32 virtual bool setTimestampOffset(double offset); 33 virtual bool setTimestampOffset(double offset);
33 virtual void setAppendWindowStart(double start); 34 virtual void setAppendWindowStart(double start);
34 virtual void setAppendWindowEnd(double end); 35 virtual void setAppendWindowEnd(double end);
35 virtual void removedFromMediaSource(); 36 virtual void removedFromMediaSource();
36 37
37 private: 38 private:
39 // Demuxer callback handler to process an initialization segment received
40 // during an append() call.
41 void InitSegmentReceived();
42
38 std::string id_; 43 std::string id_;
39 ChunkDemuxer* demuxer_; // Owned by WebMediaPlayerImpl. 44 ChunkDemuxer* demuxer_; // Owned by WebMediaPlayerImpl.
40 45
46 blink::WebSourceBufferClient* client_;
47
41 // Controls the offset applied to timestamps when processing appended media 48 // Controls the offset applied to timestamps when processing appended media
42 // segments. It is initially 0, which indicates that no offset is being 49 // segments. It is initially 0, which indicates that no offset is being
43 // applied. Both setTimestampOffset() and append() may update this value. 50 // applied. Both setTimestampOffset() and append() may update this value.
44 base::TimeDelta timestamp_offset_; 51 base::TimeDelta timestamp_offset_;
45 52
46 base::TimeDelta append_window_start_; 53 base::TimeDelta append_window_start_;
47 base::TimeDelta append_window_end_; 54 base::TimeDelta append_window_end_;
48 55
49 DISALLOW_COPY_AND_ASSIGN(WebSourceBufferImpl); 56 DISALLOW_COPY_AND_ASSIGN(WebSourceBufferImpl);
50 }; 57 };
51 58
52 } // namespace media 59 } // namespace media
53 60
54 #endif // MEDIA_BLINK_WEBSOURCEBUFFER_IMPL_H_ 61 #endif // MEDIA_BLINK_WEBSOURCEBUFFER_IMPL_H_
OLDNEW
« no previous file with comments | « no previous file | media/blink/websourcebuffer_impl.cc » ('j') | media/filters/chunk_demuxer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698