Index: third_party/WebKit/Source/modules/mediasource/SourceBuffer.h |
diff --git a/third_party/WebKit/Source/modules/mediasource/SourceBuffer.h b/third_party/WebKit/Source/modules/mediasource/SourceBuffer.h |
index ba9512fd61b9aa3bcbb5e561b5196d2812478a0c..a3775d19615330fd18f0183819554475d1c94007 100644 |
--- a/third_party/WebKit/Source/modules/mediasource/SourceBuffer.h |
+++ b/third_party/WebKit/Source/modules/mediasource/SourceBuffer.h |
@@ -51,6 +51,7 @@ class GenericEventQueue; |
class MediaSource; |
class Stream; |
class TimeRanges; |
+class TrackBase; |
class WebSourceBuffer; |
class SourceBuffer final |
@@ -102,7 +103,8 @@ public: |
const AtomicString& interfaceName() const override; |
// WebSourceBufferClient interface |
- void initializationSegmentReceived() override; |
+ WebMediaPlayer::TrackId createMediaTrack(WebMediaPlayer::TrackType, WebString, WebString, WebString, WebString) override; |
+ void initializationSegmentReceived(const WebVector<WebMediaPlayer::TrackId>&) override; |
// Oilpan: eagerly release owned m_webSourceBuffer |
EAGERLY_FINALIZE(); |
@@ -138,6 +140,15 @@ private: |
Member<TrackDefaultList> m_trackDefaults; |
RawPtrWillBeMember<GenericEventQueue> m_asyncEventQueue; |
+ // The |m_pendingTracks| collection holds media track objects returned by |
+ // createMediaTrack method but not yet reported to the |
+ // initializationSegmentReceived. This is necessary to prevent media track |
+ // objects from being GC-collected before the init segment algorithm is run. |
+ HeapVector<Member<TrackBase>> m_pendingTracks; |
+ |
+ HeapVector<WebMediaPlayer::TrackId> m_audioTrackIds; |
wolenetz
2016/03/23 19:34:13
nit: are these going to be used for anything in th
servolk
2016/03/24 01:31:56
These are used for implementing a primitive 'init
wolenetz
2016/03/24 01:57:43
Acknowledged.
|
+ HeapVector<WebMediaPlayer::TrackId> m_videoTrackIds; |
+ |
wolenetz
2016/03/23 19:34:13
nit: add TODO for textTracks?
servolk
2016/03/24 01:31:56
Done.
|
AtomicString m_mode; |
bool m_updating; |
double m_timestampOffset; |