Skip to content

Seeking troubles on large WebM files in Safari on mac and iOS#35771

Merged
webkit-commit-queue merged 1 commit intoWebKit:mainfrom
jyavenard:eng/Seeking-troubles-on-large-WebM-files-in-Safari-on-mac-and-iOS
Oct 31, 2024
Merged

Seeking troubles on large WebM files in Safari on mac and iOS#35771
webkit-commit-queue merged 1 commit intoWebKit:mainfrom
jyavenard:eng/Seeking-troubles-on-large-WebM-files-in-Safari-on-mac-and-iOS

Conversation

@jyavenard
Copy link
Copy Markdown
Member

@jyavenard jyavenard commented Oct 27, 2024

617de4c

Seeking troubles on large WebM files in Safari on mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=272095
rdar://125867488

Reviewed by Jer Noble.

We relied on the AVSampleBufferRenderSynchronizer to perform the seek and wait.
It doesn't always behave as expected. So instead we use a NativePromise that will
be resolved once we have demuxed data at the seek location and wait to continue the seek operation.

* LayoutTests/http/tests/media/video-webm-stall-seek-expected.txt: Added.
* LayoutTests/http/tests/media/video-webm-stall-seek.html: Added.
* LayoutTests/platform/glib/TestExpectations: Add failure expectation webkit.org/b/282165
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm:
(WebCore::MediaPlayerPrivateWebM::~MediaPlayerPrivateWebM):
(WebCore::MediaPlayerPrivateWebM::seekInternal):
(WebCore::MediaPlayerPrivateWebM::seekTo):
(WebCore::MediaPlayerPrivateWebM::appendCompleted):

Canonical link: https://commits.webkit.org/285986@main

5beaf5f

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 win
✅ 🧪 bindings ✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ✅ 🧪 win-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 gtk-wk2
✅ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🧪 api-gtk
✅ 🛠 🧪 merge ✅ 🧪 vision-wk2 ✅ 🧪 mac-intel-wk2
✅ 🛠 tv ✅ 🛠 mac-safer-cpp
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@jyavenard jyavenard self-assigned this Oct 27, 2024
@jyavenard jyavenard added the Media Bugs related to the HTML 5 Media elements. label Oct 27, 2024
@jyavenard jyavenard force-pushed the eng/Seeking-troubles-on-large-WebM-files-in-Safari-on-mac-and-iOS branch from 5421f2a to 8243775 Compare October 27, 2024 09:28
@jyavenard jyavenard force-pushed the eng/Seeking-troubles-on-large-WebM-files-in-Safari-on-mac-and-iOS branch from 8243775 to 50001f4 Compare October 27, 2024 09:32
@jyavenard jyavenard force-pushed the eng/Seeking-troubles-on-large-WebM-files-in-Safari-on-mac-and-iOS branch from 50001f4 to 66c89e0 Compare October 28, 2024 05:19
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Oct 28, 2024
@jyavenard jyavenard removed the merging-blocked Applied to prevent a change from being merged label Oct 28, 2024
@jyavenard jyavenard force-pushed the eng/Seeking-troubles-on-large-WebM-files-in-Safari-on-mac-and-iOS branch from 66c89e0 to 5beaf5f Compare October 28, 2024 08:44
@jyavenard jyavenard added the merge-queue Applied to send a pull request to merge-queue label Oct 31, 2024
https://bugs.webkit.org/show_bug.cgi?id=272095
rdar://125867488

Reviewed by Jer Noble.

We relied on the AVSampleBufferRenderSynchronizer to perform the seek and wait.
It doesn't always behave as expected. So instead we use a NativePromise that will
be resolved once we have demuxed data at the seek location and wait to continue the seek operation.

* LayoutTests/http/tests/media/video-webm-stall-seek-expected.txt: Added.
* LayoutTests/http/tests/media/video-webm-stall-seek.html: Added.
* LayoutTests/platform/glib/TestExpectations: Add failure expectation webkit.org/b/282165
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.mm:
(WebCore::MediaPlayerPrivateWebM::~MediaPlayerPrivateWebM):
(WebCore::MediaPlayerPrivateWebM::seekInternal):
(WebCore::MediaPlayerPrivateWebM::seekTo):
(WebCore::MediaPlayerPrivateWebM::appendCompleted):

Canonical link: https://commits.webkit.org/285986@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/Seeking-troubles-on-large-WebM-files-in-Safari-on-mac-and-iOS branch from 5beaf5f to 617de4c Compare October 31, 2024 23:40
@webkit-commit-queue
Copy link
Copy Markdown
Collaborator

Committed 285986@main (617de4c): https://commits.webkit.org/285986@main

Reviewed commits have been landed. Closing PR #35771 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 617de4c into WebKit:main Oct 31, 2024
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Oct 31, 2024
@jyavenard jyavenard deleted the eng/Seeking-troubles-on-large-WebM-files-in-Safari-on-mac-and-iOS branch November 27, 2024 23:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Media Bugs related to the HTML 5 Media elements.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants