jyavenard
WebCore contributor
Summary
jyavenard works almost entirely on the media stack — MSE/SourceBuffer, AVFoundation-backed rendering, and audio session management — concentrated in WebCore and the Cocoa platform layer, with a steady stream of site-isolation media test triage alongside it. None of the work is security-labeled, but much of it lands against crash and timeout signatures rather than feature requests, and it sits in lifetime-sensitive code: buffer eviction policy, `AudioVideoRendererAVFObjC` teardown, and cross-process media player proxies (including a `RemoteMediaPlayerManagerProxy` creation path). Systematic-variant candidate: MSE eviction and seek-beyond-duration handling, where recent commits repeatedly touch the same range arithmetic that produced an invalid-time crash.
Components
Security Fix History
- No security fixes recorded
Hardening Commits
- No hardening commits recorded
Recent Commits
- 2026-08-07 [site-isolation] http/tests/webrtc/audioSessionInFrames.html is a permanent failure
- 2026-08-04 audio-session-category-capture-audio-context.html is an intermittent failure
- 2026-08-04 [site-isolation] fast/mediastream/microphone-interruption-and-audio-session.html is an almost-permanent failure
- 2026-08-03 [Moon Player: AI -Enhanced 3D] blank black screen in full screen and video paused
- 2026-07-30 (311380@main) [Moon Player: AI-Enhanced 3D] Video playback goes black but audio continues when playing YouTube videos in
- 2026-07-29 [site-isolation] http/wpt/mediasession/setCaptureState-audio-category.html is a permanent failure
- 2026-07-28 [site-isolation] fast/mediastream/audio-track-enabled.html is a permanent failure
- 2026-07-27 [site-isolation] media/audio-session-category-at-most-recent-playback.html is a permanent failure
- 2026-07-25 [site-isolation] media/media-play-promise-reject-pause-abort.html is a permanent timeout
- 2026-07-23 [site-isolation] platform/mac/media/media-source/media-source-change-source.html is a permanent timeout
- 2026-07-21 [MSE] Don't evict playable data across gaps small enough to bridge during playback
- 2026-07-20 [mac][ios][win] CodecDelay webm field isn't being honored
- 2026-07-17 [Debug] media/media-source/media-source-evict-invalid-time-crash.html is a permanent crash
- 2026-07-14 (315905@main) Unable to access apple.com in Safari in recoveryOS RemoteMediaPlayerManagerProxy_CreateMediaPlayer
- 2026-07-14 open.spotify.com: returning to Home auto-plays multiple song previews / overlapping audio in Safari
- 2026-07-11 Have requestHostingContext return a NativePromise
- 2026-07-10 [Netflix.com] Unable to PiP video after navigating to another episode
- 2026-07-07 [MSE][Cocoa] imported/w3c/web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html is a permanent fai
- 2026-07-05 imported/w3c/web-platform-tests/media-source/mediasource-seek-beyond-duration.html is a permanent failure
- 2026-07-03 (315963@main) DumpRenderTree at com.apple.WebCore: WebCore::AudioVideoRendererAVFObjC::updateSharedTimebase
- 2026-07-03 com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::createVideoInfoFromFormatDescription
- 2026-07-01 Use PlatformTimeRanges::span instead of start(index)/end(index) methods
- 2026-06-30 [MSE] Loosen gap tolerance during playback and seek
- 2026-06-29 MediaContainmentEnabled preference is now dead code.
- 2026-06-27 Remove the ability to run the MediaPlayerPrivateMediaSourceAVFObjC in the GPU process
- 2026-06-26 media/media-source/media-source-video-renders.html is a constant IMAGE failure
- 2026-06-26 Remove the ability to have the MediaPlayerPrivateWebM run in the GPU process
- 2026-06-26 Don't register MediaPlayerPrivateWebM / MediaPlayerPrivateMediaSourceAVFObjC for playback in the GPU process when MediaC 2026-W25
- 2026-06-26 Enable SW VP9 decoder by default on IOS simulators
- 2026-06-25 [ iOS Debug ] media/video-webm-seek-multi-audio-tracks.html is a constant timeout
- 2026-06-24 unifi.ui.com: Security camera video playback not working in Safari, works in Chrome
- 2026-06-24 [315691@main] With MediaContainment off, YouTube seeking never completes
- 2026-06-23 com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::createVideoInfoFromFormatDescription
- 2026-06-23 [MSE] MediaSource::hasCurrentTime/hasBufferedTime/hasFutureTime should be done through MediaSourcePrivate
- 2026-06-23 [MSE] Move MediaSourceClient::waitForTarget to MediaSourcePrivate only
- 2026-06-19 [314997@main] facebook.com: Audio plays on reels for less than a second
- 2026-06-19 Have AudioVideoRenderer take and update a SharedTimebase and reduce noticeable drift
- 2026-06-17 Media Containment Bypass: GPU Process Still Registers Contained Media Engines
- 2026-06-16 [MSE] imported/w3c/web-platform-tests/media-source/mediasource-getvideoplaybackquality.html is an intermittent timeout
- 2026-06-16 Make notifyTimeReachedAndStall return a MediaTimePromise
- 2026-06-15 Use CMTimebaseGetEffectiveRate in place of CMTimebaseGetRate in AudioVideoRendererAVFObjC
- 2026-06-11 [MSE] Make the gap detection logic in SourceBuffer::provideMediaData() less arbitrary.
- 2026-06-11 Crash in WebCore::MediaPlayerPrivateWebM::reenqueueMediaForTime
- 2026-06-10 REGRESSION(312761@main): http/tests/media/fairplay/fps-mse-unmuxed-mpts.html is a constant TIMEOUT
- 2026-06-09 [MSE][Cocoa] MediaSampleAVFObjC methods other than divide() failed on CMSampleBuffers without a sample-size array
- 2026-06-09 [MSE][iOS] Silent audio under MediaContainmentEnabled when AVStreamDataParser emits AAC CMSampleBuffers without a
- 2026-06-05 [MSE] notifyTimeReachedAndStall must not arm a stall behind currentTime
- 2026-06-04 [MSE] Playback stalls after rapid seeks when readyState transitions mid-seek
- 2026-06-03 Regression(309140@main): [Spotify] I can’t see my Spotify 20 year summary
- 2026-06-03 [MSE] TrackBuffer::reenqueueMediaForTime should not enqueue content before the current playback position
- 2026-06-01 AudioVideoRendererRemote: synchronize m_lastSeekTime and recover the ready-for-more state after a flush
- 2026-05-31 REGRESSION(313609@main): [visionOS debug] pdf/pdf-plugin-hang-during-destruction.html is a constant crash.
- 2026-05-29 REGRESSION(313609@main): [visionOS debug] pdf/pdf-plugin-hang-during-destruction.html is a constant crash. 2026-W21
- 2026-05-29 Introduce SharedTimebase and stop sending time updates every 100ms. 2026-W21
- 2026-05-27 [MSE|Cocoa] currentTime can go beyond duration or gap following a seek.
- 2026-05-26 -[__NSPlaceholderArray initWithObjects:count:]: attempt to insert nil object from objects[0]
- 2026-05-22 Fix heap-use-after-free in AudioVideoRendererAVFObjC::setTimeObserver when callback re-entrantly reinstalls the time obs
- 2026-05-20 (311867@main) PLT7 regressed for YouTube first page load
- 2026-05-19 [Media] timeupdate event can dispatch ahead of 'seeking' under stress
- 2026-05-18 (313296@main) ASSERTION FAILED: m_samples.decodeOrder().findSampleWithDecodeKey
- 2026-05-18 Unreviewed, reverting 313283@main (118bdae825bb) and 313337@main (66e0cef1596a)
- 2026-05-18 [MSE] mediasource-duration WPT test fails on multi-track content
- 2026-05-18 [MSE] SourceBuffer.remove() removes one extra sample, and buffered trims coverage still backed by retained samples
- 2026-05-15 Reduce power cost of VideoPlaybackQualityMetrics
- 2026-05-15 [MSE] processMediaSample: close Coded Frame Processing spec gaps proposed in w3c/media-source#374 and #375
- 2026-05-15 [Media] timeupdate event can dispatch ahead of 'seeking' under stress
- 2026-05-14 Twitch.tv may stall at ad transition during live streaming. 2026-W19
- 2026-05-14 AudioVideoRenderer TimeProgressEstimator incorrectly set m_effectiveRate
- 2026-05-13 [MSE] timeupdate event can fire during seek operation, before the seek
- 2026-05-13 [MSE] 'ended' event never fires when MediaSource.endOfStream() is
- 2026-05-09 (312763@main) minimumUpcomingTime is never set for WebM, causing unbounded decode.
- 2026-05-08 [MSE|Cocoa] Power Regression while watching Netflix when a decompression session is in use.
- 2026-05-07 [Regression 312761@main] Build failure
- 2026-05-07 [MSE][Cocoa] Silence spurious UpcomingPTSExpectation warnings from
- 2026-05-07 [cocoa] AVStreamDataParser accepts media segments not preceded by an init segment 2026-W18
- 2026-05-06 [MSE] waiting event is fired up to 250ms late when playhead reaches a buffered gap
- 2026-05-06 (312672@main) Double-quoted include "MediaPromiseTypes.h" in framework header, expected angle-bracketed instead
- 2026-05-06 https://bugs.webkit.org/show_bug.cgi?id=314035
- 2026-05-01 NEW TEST(311561@main): [iOS Release] TestWebKitAPI.FullscreenVideoTextRecognition.NoOverlayInstalledAfterSeekAndExitingN
- 2026-04-30 citroen.fr: one section fails to display properly after scrolling 2026-W17
- 2026-04-28 REGRESSION(311771@main): [Tahoe] media/media-vp8-webm-with-preload.html is a flaky TEXT failure
- 2026-04-25 media/media-source/media-managedmse-resume-after-stall.html is an intermittent failure
- 2026-04-23 Use a TimeProgressEstimator to interpolate AudioVideoRendererRemote::currentTime() between GPU updates
- 2026-04-21 AudioDecoder Crash in CrashIfClientProvidedBogusAudioBufferList if AudioConverterComplexInputDataProc returned an empty
- 2026-04-21 [Regression 310415@main] linkedin.com: Videos stop playing after few seconds and audio lost
- 2026-04-20 REGRESSION (256320@main?): [iOS] 2 TestWebKitAPI.FullscreenVideoTextRecognition tests are flaky failures
- 2026-04-20 Safari doesn't really fully dismiss the text selection in video player after closing the video
- 2026-04-08 [macOS iOS] http/wpt/mediarecorder/MediaRecorder-audio-samplingrate-change.html is flaky
- 2026-04-02 REGRESSION (307242@main): YouTube takes longer to load a page
- 2026-04-02 Scrubbing a YouTube video in full-screen causes it to exit full-screen mode.
- 2026-03-30 media/media-vp8-hiddenframes.html is sometimes crashing on EWS
- 2026-03-27 Unnecessary use of callOnMainRunLoopAndWait in MediaSourcePrivateAVFObjC::addSourceBuffer
- 2026-03-26 Merge MediaSourceUseRemoteAudioVideoRenderer and WebMUseRemoteAudioVideoRenderer into one pref
- 2026-03-26 MediaSource should actually cache the response
- 2026-03-26 Unnecessary AVStreamDataParser allocation when querying if a mime type is supported.
- 2026-03-26 MediaPlayer::supportsType unnecessarily queries the GPUP for all non-cache queries
- 2026-03-25 Unnecessary check with both SourceBufferParsers when one could do.
- 2026-03-19 [Tahoe Debug] ASSERTION FAILED: !!result /Volumes/Data/worker/macOS-Tahoe-Debug-Build-EWS/build/Source/WebKit/WebProcess
- 2026-03-18 HDR content looks washed out with ToT MiniBrowser
- 2026-03-18 com.apple.WebKit.WebContent at WebCore: unsigned int JSC::DataView::get<unsigned int>
- 2026-03-17 Can't seek in webm while content is loading
- 2026-03-12 MP4 with Opus track isn't usable with decodeAudioData
- 2026-03-11 Regression: `media_fragment_seek.html` seems to fail on STP 238 but passes on Safari 26.3
- 2026-03-10 MediaCapabilities will always return unsupported if spatialRendering is set to true
- 2026-03-08 Remove HAVE_AVAUDIOSESSION usage
- 2026-03-07 PlatformMediaDecodingType's enums are inappropriately named
- 2026-03-06 MediaEngineSupportParameters should be using an platformType field
- 2026-03-06 Quad Audio files processed using AudioDecoders and WebAudio crashes Safari.
- 2026-03-05 Decoding webm file with more than 2 channels will fail
- 2026-03-04 REGRESSION(306380@main) [Tahoe Debug x86_64] TestWebKitAPI.WebKit.ManagedMSEHasMediaStreamingActivity is flaky timeout
- 2026-03-04 FairPlay VP9 content fails to play.
- 2026-03-03 com.apple.WebKit.GPU at WebCore: WebCore::AudioVideoRendererAVFObjC::addTrack
- 2026-03-03 Changing the playback speed on a video stops audio playback on various websites
- 2026-03-03 Unable to select live text on paused video on youtube, khan academy, marketwatch and cnbc
- 2026-02-27 NEW TEST(289843@main): [macOS iOS Debug]: ASSERTION FAILED: frame->presentationTime() >= m_lastMuxedSampleStartTime
- 2026-02-27 [ macOS Sonoma wk2 Release, iOS Release ] http/wpt/mediarecorder/MediaRecorder-matroska-AV-audio-video-dataavailable.htm
- 2026-02-26 REGRESSION (Safari 26): MediaRecorder emits empty Blobs for small timeslice values
- 2026-02-25 com.apple.WebKit.WebContent at WebKit: WebKit::AudioVideoRendererRemote::addTrack
- 2026-02-19 media-source-audio-switch.html is an intermittent failure
- 2026-02-19 Web content process crash under lambda in WebPage::requestTextRecognition()
- 2026-02-18 CNN livestream stuck loading
- 2026-02-11 Have MediaPlayerPrivateMediaSourceAVFObjC's demuxers run in the content process.
- 2026-02-11 Paramount+ live TV has flashing buffering icon while playing when MediaSourceUseRemoteAudioVideoRenderer is turned on
- 2026-01-29 Make HTMLVideoElement::bitmapImageForCurrentTime() asynchronous by having it return a NativePromise
- 2026-01-28 Have MediaPlayerPrivateWebM demuxer run in the content process.
- 2026-01-28 Have MediaPlayerPrivateMediaSourceAVFObjC's demuxers run in the content process.
- 2026-01-28 Assertion in RemoteMediaResourceLoader::requestResource
- 2026-01-13 en.wikipedia.org/wiki/videos cannot select text after video paused when player runs in content process
- 2026-01-13 StabilityTracer: com.apple.WebKit.GPU at WebCore: WTF::Detail::CallableWrapper<WebCore::MediaPlayerPrivateMediaSourceAV
- 2026-01-07 Unreviewed, reverting 303101@main (e33b07c71418)
- 2026-01-07 StabilityTracer: com.apple.WebKit.GPU at com.apple.WebCore: WebCore::DecodeOrderSampleMap::findSamplesBetweenDecodeKeys
- 2025-12-19 SourceBufferParserWebM will not compile if AV1 is not enabled.
- 2025-12-19 http/tests/media/fairplay/fps-mse-unmuxed-mpts.html is a permanent failure with MediaSourceUseRemoteAudioVideoRenderer o
- 2025-12-19 WebAVSampleBufferListenerClient : com.apple.WebCore: WTF::ThreadSafeWeakPtrControlBlock::strongRef const
- 2025-12-18 TrackInfo and derivative should be a class, not a struct.
- 2025-12-17 AudioVideoRendererRemote should only serialise TrackInfo if it changes
- 2025-12-17 [visionOS] spatial video don't play when MediaPlayerPrivateMediaSourceAVFObjC runs in the WebContent process
- 2025-12-16 The webm videos on this page don't play in Safari (work in Firefox and Chrome)
- 2025-12-16 [visionOS] spatial video don't play when MediaPlayerPrivateMediaSourceAVFObjC runs in the WebContent process
- 2025-12-15 parseSequenceHeaderOBU should return a AV1CodecConfigurationRecord
- 2025-12-13 WebCore::MediaSource::~MediaSource; WebCore::MediaSource::~MediaSource; mpark::detail::destructor::~destructor
- 2025-12-12 Safari pauses video when leaving tab
- 2025-12-11 Elevated WebKit.GPU activity during fullscreen video testing [340 mW]
- 2025-12-02 SourceBufferParserAVFObjC can't be used in the WebContent process on iOS devices.
- 2025-12-02 [MSE] imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html is a constant tim
- 2025-12-01 [MSE] imported/w3c/web-platform-tests/media-source/mediasource-changetype-play-negative.html is a permanent timeout
- 2025-11-27 [MSE] imported/w3c/web-platform-tests/media-source/mediasource-changetype-play-implicit times out.
- 2025-11-27 [MSE] ended event may never be fired
- 2025-11-27 Remove sourceBufferPrivateDidReceiveRenderingError ; it's dead code
- 2025-11-26 [MSE] WebCoreDecompressionSession will error when going from a VideoDecoder to a VTDecompressionSession
- 2025-11-26 StabilityTracer: com.apple.WebKit.GPU.Development at com.apple.WebKit: IPC::MessageReceiver::~MessageReceiver
- 2025-11-25 espn.com: Unable to play Monday Night Football (MNF) videos from "Watch" page in Safari (Live content on Mondays only)
- 2025-11-25 Make MediaSourceUseRemoteAudioVideoRenderer testable
- 2025-11-24 ASSERTION: ASSERT(isMainThread()); when watching protected content with MediaSourceUseRemoteAudioVideoRenderer enabled
- 2025-11-24 AudioVideoRenderer::requestMediaDataWhenReady should return a NativePromise
- 2025-11-23 MediaSourcePrivate/SourceBufferPrivate should run on their own work queue.
- 2025-11-23 AudioVideoRenderer will constantly request for more data even if earlier request not serviced.
- 2025-11-21 MediaPlayerPrivateWebM should wait for data being buffered/demuxed before setting readyState to `HAVE_ENOUGH_DATA`
- 2025-11-21 WPT's webvtt tests are failing very often
- 2025-11-21 Add better logging to VideoMediaSampleRenderer
- 2025-11-21 MediaPlayerPrivateWebM will attempt to re-enqueue more samples indefinitely even when the AudioVideoRenderer isn't ready
- 2025-11-21 MediaSourcePrivate should be the reference when calculating the MediaPlayer's readyState
- 2025-11-18 REGRESSION (280352@main): [ macOS wk2 Debug ] imported/w3c/web-platform-tests/media-source/dedicated-worker/mediasource-
- 2025-11-18 [MSE] Move SourceBufferPrivate isActive() handling to the base class
- 2025-11-18 AVTrackPrivateAVFObjCImpl.mm has incorrect threading assumptions
- 2025-11-18 MediaPlayerPrivateMediaSourceAVFObjC can't be instantiated in the content process.
- 2025-11-18 Crash in [AVSampleBufferAudioRenderer enqueueSampleBuffer:]
- 2025-11-18 MockMediaPlayerPrivateMediaSource can't be instantiated in the web content process.
- 2025-11-18 CMSampleBuffer serialiser doesn't handle when kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms contains mor
- 2025-11-18 [MSE] Make SourceBufferPrivateAVFObjC::needsVideoLayer() thread-safe
- 2025-11-18 Make SourceBufferPrivate's eviction calculation and query of buffer size thread-safe
- 2025-11-17 Have MediaPlayerPrivateWebM demuxer run in the content process.
- 2025-11-17 WebM + VP9/Vorbis (with fallback) is not working in Safari with feature flag enabled
- 2025-11-15 REGRESSION (302690@main): [ MacOS WK2 ] imported/w3c/web-platform-tests/webvtt/rendering/cues-with-video/processing-mod
- 2025-11-14 imported/w3c/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla.html and vari
- 2025-11-13 [MSE] Buffered range calculation should be performed by the MediaSourcePrivate base class
- 2025-11-13 [MSE] Make MediaSourcePrivate::hasAudio/hasVideo thread-safe
- 2025-11-13 http/tests/media/fairplay/legacy-fairplay-mse-v2.html is an intermittent failure
- 2025-11-11 Have MediaPlayerPrivateInterface::defaultSpatialTrackingLabel and spatialTrackingLabel return a String
- 2025-11-11 REGRESSION(302409@main): Broke http/tests/media/fairplay/fps-mse-unmuxed-multiple-keys.html
- 2025-11-11 Annotate MediaPlayerPrivateMediaSourceAVFObjC with threading expectations
- 2025-11-10 Crash: com.apple.WebKit.WebContent at AVFCore: -[AVAssetWriterInputHelper requestMediaDataWhenReadyOnQueue:usingBlock:]
- 2025-11-07 AudioVideoRendererRemote should use its own work queue
- 2025-11-06 com.apple.WebKit.GPU at WebCore: WebCore::MediaPlayerPrivateWebM::notifyClientWhenReadyForMoreSamples
- 2025-11-06 AudioVideoRendererRemote should use its own work queue
- 2025-11-06 Make AVTrackPrivateAVFObjCImpl be a ThreadSafeRefCountedAndCanMakeThreadSafeWeakPtr
- 2025-11-04 TrackPrivateBase's label/language should return a String
- 2025-10-31 [MSE/EME] Video freezes on first frame when transitioning from encrypted to clear (content to ad)
- 2025-10-31 MediaSourcePrivate and SourceBufferPrivate should take a WorkQueue rather than a GuaranteedSerialFunctionDispatcher