[webkit-changes] [WebKit/WebKit] 1dd42b: MediaStreamTrackProcessor should not be destroyed ...

youennf noreply at github.com
Wed Jan 24 02:48:13 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1dd42ba248d5a42d0142a2a0134b23ec189ff1cf
      https://github.com/WebKit/WebKit/commit/1dd42ba248d5a42d0142a2a0134b23ec189ff1cf
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2024-01-24 (Wed, 24 Jan 2024)

  Changed paths:
    M Source/WebCore/Modules/fetch/FetchBodySource.h
    M Source/WebCore/Modules/mediastream/MediaStreamTrackProcessor.cpp
    M Source/WebCore/Modules/mediastream/MediaStreamTrackProcessor.h
    M Source/WebCore/Modules/streams/ReadableStreamSource.h
    M Source/WebCore/Modules/webtransport/DatagramSource.h
    M Source/WebCore/Modules/webtransport/WebTransportBidirectionalStreamSource.h
    M Source/WebCore/Modules/webtransport/WebTransportReceiveStreamSource.h
    M Source/WebCore/fileapi/Blob.cpp
    M Source/WebKit/WebProcess/Network/WebTransportReceiveStreamSource.h

  Log Message:
  -----------
  MediaStreamTrackProcessor should not be destroyed if its ReadableStream source is live
https://bugs.webkit.org/show_bug.cgi?id=267932
rdar://121465569

Reviewed by Eric Carlson.

We want to keep MediaStreamTrackProcessor alive if its ReadableStream source is alive, so that we can pipe the received video frames to the source.
To do this, MediaStreamTrackProcessor::Source is no longer RefCounted but will use its MediaStreamTrackProcessor ref count.

We make ReadableStreamSource no longer refcounted so that MediaStreamTrackProcessor::Source can do its own ref/deref.
We introduce RefCountedReadableStreamSource for other existing ReadableStream sources.

* Source/WebCore/Modules/fetch/FetchBodySource.h:
* Source/WebCore/Modules/mediastream/MediaStreamTrackProcessor.cpp:
(WebCore::MediaStreamTrackProcessor::readable):
* Source/WebCore/Modules/mediastream/MediaStreamTrackProcessor.h:
* Source/WebCore/Modules/streams/ReadableStreamSource.h:
* Source/WebCore/Modules/webtransport/DatagramSource.h:
* Source/WebCore/Modules/webtransport/WebTransportBidirectionalStreamSource.h:
* Source/WebCore/Modules/webtransport/WebTransportReceiveStreamSource.h:
* Source/WebCore/fileapi/Blob.cpp:
(WebCore::Blob::stream):
* Source/WebKit/WebProcess/Network/WebTransportReceiveStreamSource.h:

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




More information about the webkit-changes mailing list