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

Unified Diff: third_party/WebKit/Source/core/html/HTMLMediaElement.h

Issue 1815033003: Add srcObject attribute of type MediaStream to HTMLMediaElement. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: philipj's comments Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/html/HTMLMediaElement.h
diff --git a/third_party/WebKit/Source/core/html/HTMLMediaElement.h b/third_party/WebKit/Source/core/html/HTMLMediaElement.h
index a90d46750ed94108f3485e12de823c6ced35d227..e78a1f54fd7f3376d42d0fbee1709c48a7327ac0 100644
--- a/third_party/WebKit/Source/core/html/HTMLMediaElement.h
+++ b/third_party/WebKit/Source/core/html/HTMLMediaElement.h
@@ -39,6 +39,7 @@
#include "platform/audio/AudioSourceProvider.h"
#include "public/platform/WebAudioSourceProviderClient.h"
#include "public/platform/WebMediaPlayerClient.h"
+#include "public/platform/WebMediaPlayerSource.h"
#include "public/platform/WebMimeRegistry.h"
#if !ENABLE(OILPAN)
@@ -114,6 +115,8 @@ public:
// network state
void setSrc(const AtomicString&);
const KURL& currentSrc() const { return m_currentSrc; }
+ void setSrcObject(const WebMediaPlayerSource&);
+ const WebMediaPlayerSource& getSrcObject() const { return m_srcObject; }
enum NetworkState { NETWORK_EMPTY, NETWORK_IDLE, NETWORK_LOADING, NETWORK_NO_SOURCE };
NetworkState getNetworkState() const;
@@ -366,11 +369,13 @@ private:
void invokeResourceSelectionAlgorithm();
void loadInternal();
void selectMediaResource();
- void loadResource(const KURL&, ContentType&);
+ void loadResource(const WebMediaPlayerSource&, ContentType&);
void startPlayerLoad();
void setPlayerPreload();
WebMediaPlayer::LoadType loadType() const;
void scheduleNextSourceChild();
+ void loadSourceFromObject();
+ void loadSourceFromAttribute();
void loadNextSourceChild();
void clearMediaPlayer();
void clearMediaPlayerAndAudioSourceProviderClientWithoutLocking();
@@ -487,6 +492,7 @@ private:
ReadyState m_readyState;
ReadyState m_readyStateMaximum;
KURL m_currentSrc;
+ WebMediaPlayerSource m_srcObject;
sof 2016/04/12 18:40:22 This value object contains a WebMediaStream, which
Guido Urdaneta 2016/04/12 21:38:55 I don't think there are any cycles, but I will rep
Member<MediaError> m_error;
@@ -508,7 +514,7 @@ private:
double m_defaultPlaybackStartPosition;
// Loading state.
- enum LoadState { WaitingForSource, LoadingFromSrcAttr, LoadingFromSourceElement };
+ enum LoadState { WaitingForSource, LoadingFromSrcObject, LoadingFromSrcAttr, LoadingFromSourceElement };
LoadState m_loadState;
Member<HTMLSourceElement> m_currentSourceNode;
Member<Node> m_nextChildNodeToConsider;

Powered by Google App Engine
This is Rietveld 408576698