| Index: Source/core/html/HTMLMediaElement.h
|
| diff --git a/Source/core/html/HTMLMediaElement.h b/Source/core/html/HTMLMediaElement.h
|
| index 4bf6af4bbeea39f58dfe218cdb20ce61a2db06a3..7586271c362522d3bb883ccdb14fd8a17a1ccb0c 100644
|
| --- a/Source/core/html/HTMLMediaElement.h
|
| +++ b/Source/core/html/HTMLMediaElement.h
|
| @@ -34,6 +34,7 @@
|
| #include "core/html/track/vtt/VTTCue.h"
|
| #include "platform/PODIntervalTree.h"
|
| #include "platform/graphics/media/MediaPlayer.h"
|
| +#include "public/platform/WebMediaPlayerClient.h"
|
| #include "public/platform/WebMimeRegistry.h"
|
|
|
| namespace blink {
|
| @@ -48,6 +49,7 @@ namespace WebCore {
|
| class AudioSourceProvider;
|
| class AudioSourceProviderClient;
|
| #endif
|
| +class AudioTrackList;
|
| class ContentType;
|
| class Event;
|
| class ExceptionState;
|
| @@ -61,6 +63,7 @@ class HTMLMediaSource;
|
| class TextTrackList;
|
| class TimeRanges;
|
| class URLRegistry;
|
| +class VideoTrackList;
|
|
|
| typedef PODIntervalTree<double, TextTrackCue*> CueIntervalTree;
|
| typedef CueIntervalTree::IntervalType CueInterval;
|
| @@ -167,6 +170,12 @@ public:
|
| bool togglePlayStateWillPlay() const;
|
| void togglePlayState();
|
|
|
| + AudioTrackList& audioTracks();
|
| + void audioTrackChanged();
|
| +
|
| + VideoTrackList& videoTracks();
|
| + void selectedVideoTrackChanged(blink::WebMediaPlayer::TrackId*);
|
| +
|
| PassRefPtrWillBeRawPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicString& label, const AtomicString& language, ExceptionState&);
|
| PassRefPtrWillBeRawPtr<TextTrack> addTextTrack(const AtomicString& kind, const AtomicString& label, ExceptionState& exceptionState) { return addTextTrack(kind, label, emptyAtom, exceptionState); }
|
| PassRefPtrWillBeRawPtr<TextTrack> addTextTrack(const AtomicString& kind, ExceptionState& exceptionState) { return addTextTrack(kind, emptyAtom, emptyAtom, exceptionState); }
|
| @@ -185,6 +194,11 @@ public:
|
| void didAddTrackElement(HTMLTrackElement*);
|
| void didRemoveTrackElement(HTMLTrackElement*);
|
|
|
| + blink::WebMediaPlayer::TrackId addAudioTrack(const String& id, blink::WebMediaPlayerClient::AudioTrackKind, const AtomicString& label, const AtomicString& language, bool enabled);
|
| + void removeAudioTrack(blink::WebMediaPlayer::TrackId);
|
| + blink::WebMediaPlayer::TrackId addVideoTrack(const String& id, blink::WebMediaPlayerClient::VideoTrackKind, const AtomicString& label, const AtomicString& language, bool selected);
|
| + void removeVideoTrack(blink::WebMediaPlayer::TrackId);
|
| +
|
| virtual void mediaPlayerDidAddTextTrack(blink::WebInbandTextTrack*) OVERRIDE FINAL;
|
| virtual void mediaPlayerDidRemoveTextTrack(blink::WebInbandTextTrack*) OVERRIDE FINAL;
|
| // FIXME: Remove this when WebMediaPlayerClientImpl::loadInternal does not depend on it.
|
| @@ -426,9 +440,22 @@ private:
|
|
|
| blink::WebMediaPlayer::CORSMode corsMode() const;
|
|
|
| + // Creates placeholder AudioTrack and/or VideoTrack objects when WebMemediaPlayer objects
|
| + // advertise they have audio and/or video, but don't explicitly signal them via
|
| + // addAudioTrack() and addVideoTrack().
|
| + // FIXME: Remove this once all WebMediaPlayer implementations properly report their track info.
|
| + void createPlaceholderTracksIfNecessary();
|
| +
|
| + // Sets the selected/enabled tracks if they aren't set before we initially
|
| + // transition to HAVE_METADATA.
|
| + void selectInitialTracksIfNecessary();
|
| +
|
| + void audioTracksTimerFired(Timer<HTMLMediaElement>*);
|
| +
|
| Timer<HTMLMediaElement> m_loadTimer;
|
| Timer<HTMLMediaElement> m_progressEventTimer;
|
| Timer<HTMLMediaElement> m_playbackProgressTimer;
|
| + Timer<HTMLMediaElement> m_audioTracksTimer;
|
| RefPtr<TimeRanges> m_playedTimeRanges;
|
| OwnPtrWillBeMember<GenericEventQueue> m_asyncEventQueue;
|
|
|
| @@ -513,6 +540,8 @@ private:
|
| #endif
|
| double m_lastTextTrackUpdateTime;
|
|
|
| + RefPtrWillBeMember<AudioTrackList> m_audioTracks;
|
| + RefPtrWillBeMember<VideoTrackList> m_videoTracks;
|
| RefPtrWillBeMember<TextTrackList> m_textTracks;
|
| WillBeHeapVector<RefPtrWillBeMember<TextTrack> > m_textTracksWhenResourceSelectionBegan;
|
|
|
|
|