Commit 67cc2de
committed
[GStreamer] change network state to idle when delaying the load
https://bugs.webkit.org/show_bug.cgi?id=305473
Reviewed by Xabier Rodriguez-Calvar.
Sometimes applications create a <video> tag with 'preload="none"' and
then remove the element from the DOM without ever starting playback.
This results in the video element being leaked, because
HTMLMediaElement::virtualHasPendingActivity() retains the element while
its network state is still "Loading".
See: WebPlatformForEmbedded/WPEWebKit#1594
This patch keeps the default behaviour of changing the NetworkState to
"Loading", except in the case of a delayed load (the case triggered by
preload="none"), in which it's set to Idle and therefore allowing the
full destruction of the video element.
Original author: Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load): Reset NetworkState to Idle in case of delayed load. Set to Loading otherwise.
Canonical link: https://commits.webkit.org/305578@main1 parent 19059df commit 67cc2de
1 file changed
Lines changed: 1 addition & 1 deletion
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
392 | | - | |
| 392 | + | |
393 | 393 | | |
394 | 394 | | |
395 | 395 | | |
| |||
0 commit comments