Title: [247208] trunk/Source/WebCore
- Revision
- 247208
- Author
- [email protected]
- Date
- 2019-07-08 09:25:55 -0700 (Mon, 08 Jul 2019)
Log Message
Register a MediaStreamTrack as media producer only if it is a capture track
https://bugs.webkit.org/show_bug.cgi?id=199566
Reviewed by Eric Carlson.
MediaStreamTrack registration as a media producer is only useful for capture tracks.
Otherwise, the audio/video playing state is computed through HTMLMediaElement.
Do not register MediaStreamTrack as a media producer if it is not a capture track.
Set the muted state of the track before registering it as an audio
producer. Otherwise, it might create unnecessary small change of playing state.
Covered by existing tests.
* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::~MediaStreamTrack):
* Modules/mediastream/MediaStreamTrack.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (247207 => 247208)
--- trunk/Source/WebCore/ChangeLog 2019-07-08 11:47:13 UTC (rev 247207)
+++ trunk/Source/WebCore/ChangeLog 2019-07-08 16:25:55 UTC (rev 247208)
@@ -1,3 +1,23 @@
+2019-07-08 Youenn Fablet <[email protected]>
+
+ Register a MediaStreamTrack as media producer only if it is a capture track
+ https://bugs.webkit.org/show_bug.cgi?id=199566
+
+ Reviewed by Eric Carlson.
+
+ MediaStreamTrack registration as a media producer is only useful for capture tracks.
+ Otherwise, the audio/video playing state is computed through HTMLMediaElement.
+ Do not register MediaStreamTrack as a media producer if it is not a capture track.
+
+ Set the muted state of the track before registering it as an audio
+ producer. Otherwise, it might create unnecessary small change of playing state.
+ Covered by existing tests.
+
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::MediaStreamTrack):
+ (WebCore::MediaStreamTrack::~MediaStreamTrack):
+ * Modules/mediastream/MediaStreamTrack.h:
+
2019-07-08 Antoine Quint <[email protected]>
[Pointer Events] Enable only on the most recent version of the supported iOS family
Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp (247207 => 247208)
--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2019-07-08 11:47:13 UTC (rev 247207)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp 2019-07-08 16:25:55 UTC (rev 247208)
@@ -66,10 +66,13 @@
m_private->addObserver(*this);
+ if (!isCaptureTrack())
+ return;
+
if (auto document = this->document()) {
+ if (document->page() && document->page()->mutedState())
+ setMuted(document->page()->mutedState());
document->addAudioProducer(*this);
- if (isCaptureTrack() && document->page() && document->page()->mutedState())
- setMuted(document->page()->mutedState());
}
}
@@ -77,6 +80,9 @@
{
m_private->removeObserver(*this);
+ if (!isCaptureTrack())
+ return;
+
if (auto document = this->document())
document->removeAudioProducer(*this);
}
Modified: trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h (247207 => 247208)
--- trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h 2019-07-08 11:47:13 UTC (rev 247207)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h 2019-07-08 16:25:55 UTC (rev 247208)
@@ -199,7 +199,7 @@
GenericTaskQueue<Timer> m_eventTaskQueue;
bool m_ended { false };
- bool m_isCaptureTrack { false };
+ const bool m_isCaptureTrack { false };
};
typedef Vector<RefPtr<MediaStreamTrack>> MediaStreamTrackVector;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes