mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-25 17:25:08 +02:00
LibWeb: Invert the order of sink toggling when selecting video tracks
This ensures that when we're switching from one video track to another, we don't end up exiting buffering/seeking early due to no tracks being enabled.
This commit is contained in:
committed by
Gregory Bertilson
parent
ab9776955f
commit
b7c8537336
Notes:
github-actions[bot]
2026-04-10 20:22:13 +00:00
Author: https://github.com/Zaggy1024 Commit: https://github.com/LadybirdBrowser/ladybird/commit/b7c85373368 Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/8809
@@ -1540,17 +1540,19 @@ void HTMLMediaElement::set_selected_video_track(Badge<VideoTrack>, GC::Ptr<HTML:
|
||||
if (video_track && !m_playback_manager->video_tracks().contains_slow(video_track->track_in_playback_manager()))
|
||||
return;
|
||||
|
||||
if (m_selected_video_track) {
|
||||
VERIFY(m_selected_video_track_sink);
|
||||
m_playback_manager->remove_the_displaying_video_sink_for_track(m_selected_video_track->track_in_playback_manager());
|
||||
m_selected_video_track_sink = nullptr;
|
||||
if (m_external_content_source)
|
||||
m_external_content_source->clear();
|
||||
}
|
||||
if (m_external_content_source)
|
||||
m_external_content_source->clear();
|
||||
|
||||
auto previous_track = m_selected_video_track;
|
||||
|
||||
m_selected_video_track = video_track;
|
||||
if (video_track)
|
||||
m_selected_video_track_sink = m_playback_manager->get_or_create_the_displaying_video_sink_for_track(video_track->track_in_playback_manager());
|
||||
else
|
||||
m_selected_video_track_sink = nullptr;
|
||||
|
||||
if (previous_track)
|
||||
m_playback_manager->remove_the_displaying_video_sink_for_track(previous_track->track_in_playback_manager());
|
||||
}
|
||||
|
||||
void HTMLMediaElement::update_video_frame_and_timeline()
|
||||
|
||||
Reference in New Issue
Block a user