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

Side by Side Diff: public/platform/WebSourceBuffer.h

Issue 552943002: MSE: Start letting SourceBuffer begin to do initialization segment received algorithm (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased. Addressed philipj@'s PS5 comments. 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 17 matching lines...) Expand all
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef WebSourceBuffer_h 31 #ifndef WebSourceBuffer_h
32 #define WebSourceBuffer_h 32 #define WebSourceBuffer_h
33 33
34 #include "WebTimeRange.h" 34 #include "WebTimeRange.h"
35 35
36 namespace blink { 36 namespace blink {
37 37
38 class WebSourceBufferClient;
39
38 class WebSourceBuffer { 40 class WebSourceBuffer {
39 public: 41 public:
40 enum AppendMode { 42 enum AppendMode {
41 AppendModeSegments, 43 AppendModeSegments,
42 AppendModeSequence 44 AppendModeSequence
43 }; 45 };
44 46
45 virtual ~WebSourceBuffer() { } 47 virtual ~WebSourceBuffer() { }
48
49 // This will only be called once and only with a non-null pointer to a
50 // client whose ownership is not transferred to this WebSourceBuffer.
51 virtual void setClient(WebSourceBufferClient*)
52 {
53 // FIXME: Remove default implementation once Chromium impl lands.
54 }
55
46 virtual bool setMode(AppendMode) = 0; 56 virtual bool setMode(AppendMode) = 0;
47 virtual WebTimeRanges buffered() = 0; 57 virtual WebTimeRanges buffered() = 0;
48 58
49 // Appends data and runs the segment parser loop algorithm. 59 // Appends data and runs the segment parser loop algorithm.
50 // The algorithm may update |*timestampOffset| if |timestampOffset| is not n ull. 60 // The algorithm may update |*timestampOffset| if |timestampOffset| is not n ull.
51 virtual void append(const unsigned char* data, unsigned length, double* time stampOffset) = 0; 61 virtual void append(const unsigned char* data, unsigned length, double* time stampOffset) = 0;
52 62
53 virtual void abort() = 0; 63 virtual void abort() = 0;
54 virtual void remove(double start, double end) = 0; 64 virtual void remove(double start, double end) = 0;
55 virtual bool setTimestampOffset(double) = 0; 65 virtual bool setTimestampOffset(double) = 0;
56 66
57 // Set presentation timestamp for the start of append window. 67 // Set presentation timestamp for the start of append window.
58 virtual void setAppendWindowStart(double) = 0; 68 virtual void setAppendWindowStart(double) = 0;
59 69
60 // Set presentation timestamp for the end of append window. 70 // Set presentation timestamp for the end of append window.
61 virtual void setAppendWindowEnd(double) = 0; 71 virtual void setAppendWindowEnd(double) = 0;
62 72
73 // After this method is called, this WebSourceBuffer should never use the
74 // client pointer passed to setClient().
63 virtual void removedFromMediaSource() = 0; 75 virtual void removedFromMediaSource() = 0;
64 }; 76 };
65 77
66 } // namespace blink 78 } // namespace blink
67 79
68 #endif 80 #endif
OLDNEW
« no previous file with comments | « Source/modules/mediasource/SourceBufferList.cpp ('k') | public/platform/WebSourceBufferClient.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698