Bug 261191 - MediaPlayer::m_client should be a WeakPtr
Summary: MediaPlayer::m_client should be a WeakPtr
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andy Estes
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-09-05 21:15 PDT by Andy Estes
Modified: 2023-09-10 19:43 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Estes 2023-09-05 21:15:18 PDT
MediaPlayer::m_client should be a WeakPtr
Comment 1 Radar WebKit Bug Importer 2023-09-05 21:15:32 PDT
<rdar://problem/115035575>
Comment 2 Andy Estes 2023-09-05 21:18:02 PDT
Pull request: https://github.com/WebKit/WebKit/pull/17470
Comment 3 EWS 2023-09-06 09:16:45 PDT
Committed 267676@main (bee86236432f): <https://commits.webkit.org/267676@main>

Reviewed commits have been landed. Closing PR #17470 and removing active labels.
Comment 4 Diego Pino 2023-09-07 20:08:59 PDT
This change broke the build in GTK-Linux-64bit-Release-Packaging-Nightly-Ubuntu2004, which builds using LibWebRTC:

https://build.webkit.org/#/builders/30/builds/8632/steps/10/logs/stdio

```
FAILED: Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc.o 
/usr/lib/ccache/g++-10  -DBUILDING_GTK__=1 -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DEXPAT_RELATIVE_PATH -DGETTEXT_PACKAGE=\"WebKitGTK-4.0\" -DHAVE_CONFIG_H -DHAVE_CONFIG_H=1 -DHAVE_LRINT -DHAVE_LRINTF -DHAVE_NETINET_IN_H -DHAVE_SCTP -DHAVE_STDINT_H -DHAVE_STDLIB_H -DHAVE_UINT64_T -DHAVE_WEBRTC_VIDEO -DHAVE_WEBRTC_VOICE -DJSC_GLIB_API_ENABLED -DJSON_USE_EXCEPTION=0 -DNON_WINDOWS_DEFINE -DNO_MAIN_THREAD_WRAPPING -DOPENSSL_NO_ASM -DOPUS_BUILD -DOPUS_EXPORT="" -DPAS_BMALLOC=1 -DRTC_ENABLE_VP9 -DSCTP_PROCESS_LEVEL_LOCKS -DSCTP_SIMPLE_ALLOCATOR -DSCTP_USE_OPENSSL_SHA1 -DVAR_ARRAYS -DWEBKIT_LIBWEBRTC_OPENH264_ENCODER=1 -DWEBRTC_APM_DEBUG_DUMP=0 -DWEBRTC_CODEC_G711 -DWEBRTC_CODEC_G722 -DWEBRTC_CODEC_ILBC -DWEBRTC_CODEC_ISAC -DWEBRTC_CODEC_OPUS -DWEBRTC_CODEC_RED -DWEBRTC_ENABLE_AVX2 -DWEBRTC_ENABLE_LINUX_ALSA -DWEBRTC_HAVE_SCTP -DWEBRTC_INCLUDE_INTERNAL_AUDIO_DEVICE -DWEBRTC_INTELLIGIBILITY_ENHANCER=0 -DWEBRTC_LINUX -DWEBRTC_NS_FLOAT -DWEBRTC_OPUS_SUPPORT_120MS_PTIME=0 -DWEBRTC_OPUS_VARIABLE_COMPLEXITY=0 -DWEBRTC_POSIX -DWEBRTC_USE_BUILTIN_ISAC_FIX=1 -DWEBRTC_USE_BUILTIN_ISAC_FLOAT=0 -DWEBRTC_USE_BUILTIN_OPUS=1 -DWEBRTC_USE_H264 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_GNU_SOURCE -D__Userspace__ -D__Userspace_os_Linux -I../../Source/ThirdParty/libwebrtc/Source -I../../Source/ThirdParty/libwebrtc/Source/third_party/abseil-cpp -I../../Source/ThirdParty/libwebrtc/Source/third_party/boringssl/src/include -I../../Source/ThirdParty/libwebrtc/Source/third_party/libsrtp/config -I../../Source/ThirdParty/libwebrtc/Source/third_party/libsrtp/crypto/include -I../../Source/ThirdParty/libwebrtc/Source/third_party/libsrtp/include -I../../Source/ThirdParty/libwebrtc/Source/third_party/libyuv/include -I../../Source/ThirdParty/libwebrtc/Source/third_party/opus/src/celt -I../../Source/ThirdParty/libwebrtc/Source/third_party/opus/src/include -I../../Source/ThirdParty/libwebrtc/Source/third_party/opus/src/silk -I../../Source/ThirdParty/libwebrtc/Source/third_party/opus/src/silk/float -I../../Source/ThirdParty/libwebrtc/Source/webrtc -I../../Source/ThirdParty/libwebrtc/Source/webrtc/common_audio/resampler/include -I../../Source/ThirdParty/libwebrtc/Source/webrtc/common_audio/signal_processing/include -I../../Source/ThirdParty/libwebrtc/Source/webrtc/common_audio/vad/include -I../../Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_coding/codecs/isac/main/include -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-uninitialized -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare  -fno-strict-aliasing -fno-exceptions -fno-rtti -O3 -DNDEBUG -fPIC -fvisibility=hidden   -std=gnu++11 -UHAVE_CONFIG_H -DWEBRTC_WEBKIT_BUILD=1 -w -std=c++2a -MD -MT Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc.o -MF Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc.o.d -o Source/ThirdParty/libwebrtc/CMakeFiles/webrtc.dir/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc.o -c ../../Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc
In file included from ../../Source/ThirdParty/libwebrtc/Source/third_party/abseil-cpp/absl/types/variant.h:79,
                 from ../../Source/ThirdParty/libwebrtc/Source/webrtc/modules/rtp_rtcp/source/rtp_video_header.h:18,
                 from ../../Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.h:21,
                 from ../../Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc:10:
../../Source/ThirdParty/libwebrtc/Source/third_party/abseil-cpp/absl/types/internal/variant.h: In instantiation of ‘struct absl::variant_internal::IndexOfMeta<webrtc::RTPVideoHeaderH265, absl::monostate, webrtc::RTPVideoHeaderVP8, webrtc::RTPVideoHeaderVP9, webrtc::RTPVideoHeaderH264, webrtc::RTPVideoHeaderLegacyGeneric>’:
../../Source/ThirdParty/libwebrtc/Source/third_party/abseil-cpp/absl/types/internal/variant.h:788:7:   required by substitution of ‘template<class Expected, class ... Types> using IndexOf = typename absl::variant_internal::IndexOfMeta::type [with Expected = webrtc::RTPVideoHeaderH265; Types = {absl::monostate, webrtc::RTPVideoHeaderVP8, webrtc::RTPVideoHeaderVP9, webrtc::RTPVideoHeaderH264, webrtc::RTPVideoHeaderLegacyGeneric}]’
../../Source/ThirdParty/libwebrtc/Source/third_party/abseil-cpp/absl/types/variant.h:302:47:   required from ‘constexpr T& absl::get(absl::variant<Tail ...>&) [with T = webrtc::RTPVideoHeaderH265; Types = {absl::monostate, webrtc::RTPVideoHeaderVP8, webrtc::RTPVideoHeaderVP9, webrtc::RTPVideoHeaderH264, webrtc::RTPVideoHeaderLegacyGeneric}]’
../../Source/ThirdParty/libwebrtc/Source/webrtc/modules/video_coding/h265_vps_sps_pps_tracker.cc:43:68:   required from here
../../Source/ThirdParty/libwebrtc/Source/third_party/abseil-cpp/absl/types/internal/variant.h:781:53: error: static assertion failed: Attempted to access a variant by specifying a type that does not match any alternative.
  781 |   static_assert(Results::MatchedIndexFromEnd::value != 0,
      |                                               ~~~~~~^~~~
```
Comment 5 Diego Pino 2023-09-10 19:43:02 PDT
Sorry, my mistake. It was actually https://bugs.webkit.org/show_bug.cgi?id=258794 (267677@main) the change that broke the Ubuntu WPE 20.04 build.