Chromium Code Reviews| Index: Source/core/html/HTMLMediaElement.h |
| diff --git a/Source/core/html/HTMLMediaElement.h b/Source/core/html/HTMLMediaElement.h |
| index 7160b0def0089719ac75e40823c95de1dcd7c0b6..41969c5b6c8dd6dface1c0382a522cb38749e6c6 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; |
| @@ -164,6 +167,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); } |
| @@ -182,6 +191,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. |
| @@ -420,9 +434,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 explicity signal them via |
|
acolwell GONE FROM CHROMIUM
2014/06/02 20:28:14
nit: s/explicity/explicitly/
philipj_slow
2014/06/11 10:03:48
Done.
|
| + // mediaPlayerDidAddAudioTrack() and mediaPlayerDidAddVideoTrack(). |
| + // 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; |
| OwnPtr<GenericEventQueue> m_asyncEventQueue; |
| @@ -504,6 +531,8 @@ private: |
| bool m_processingPreferenceChange : 1; |
| double m_lastTextTrackUpdateTime; |
| + RefPtrWillBeMember<AudioTrackList> m_audioTracks; |
| + RefPtrWillBeMember<VideoTrackList> m_videoTracks; |
| RefPtrWillBeMember<TextTrackList> m_textTracks; |
| WillBeHeapVector<RefPtrWillBeMember<TextTrack> > m_textTracksWhenResourceSelectionBegan; |