WebKit Bugzilla
Attachment 358527 Details for
Bug 193211
: REGRESSION (r239519): ASSERTION FAILED: !m_adoptionIsRequired in com.apple.WebCore: void WTF::refIfNotNull<WebCore::CDMSessionMediaSourceAVFObjC> + 53
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-193211-20190107135918.patch (text/plain), 3.90 KB, created by
Jer Noble
on 2019-01-07 13:59:18 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jer Noble
Created:
2019-01-07 13:59:18 PST
Size:
3.90 KB
patch
obsolete
>Subversion Revision: 239644 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index cd13728cad1323d80b7305bbb4c428ef2e1989ff..3efdb59b4f202e913fdccb506a26f490938c9215 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,19 @@ >+2019-01-07 Jer Noble <jer.noble@apple.com> >+ >+ REGRESSION (r239519): ASSERTION FAILED: !m_adoptionIsRequired in com.apple.WebCore: void WTF::refIfNotNull<WebCore::CDMSessionMediaSourceAVFObjC> + 53 >+ https://bugs.webkit.org/show_bug.cgi?id=193211 >+ <rdar://problem/46937412> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Make CDMSessionMediaSourceAVFObjC a CanMakeWeakPtr rather than RefCounted, as CDMSessions are stored in >+ std::unique_ptrs, and not in Ref or RefPtr. >+ >+ * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: >+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: >+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: >+ (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession): >+ > 2018-12-19 Jer Noble <jer.noble@apple.com> > > Force synchronous decode in WebCoreDecompressionSession::decodeSampleSync() >diff --git a/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h b/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h >index 0c29e9541f66c44d119928301e4370756b1a7930..24b2a17d977ebbf053350c55d9d409a61279638f 100644 >--- a/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h >+++ b/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h >@@ -41,7 +41,7 @@ namespace WebCore { > > class CDMPrivateMediaSourceAVFObjC; > >-class CDMSessionMediaSourceAVFObjC : public LegacyCDMSession, public SourceBufferPrivateAVFObjCErrorClient, public RefCounted<CDMSessionMediaSourceAVFObjC> { >+class CDMSessionMediaSourceAVFObjC : public LegacyCDMSession, public SourceBufferPrivateAVFObjCErrorClient, public CanMakeWeakPtr<CDMSessionMediaSourceAVFObjC> { > public: > CDMSessionMediaSourceAVFObjC(CDMPrivateMediaSourceAVFObjC&, LegacyCDMSessionClient*); > virtual ~CDMSessionMediaSourceAVFObjC(); >diff --git a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h >index 104bfa868fa1d6151b48c37250c6e2d0f09b7562..958a21885628707ef67cb0b81584b774f8fb29d1 100644 >--- a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h >+++ b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h >@@ -282,7 +282,7 @@ private: > Deque<RetainPtr<id>> m_sizeChangeObservers; > Timer m_seekTimer; > #if ENABLE(LEGACY_ENCRYPTED_MEDIA) >- RefPtr<CDMSessionMediaSourceAVFObjC> m_session; >+ WeakPtr<CDMSessionMediaSourceAVFObjC> m_session; > #endif > MediaPlayer::NetworkState m_networkState; > MediaPlayer::ReadyState m_readyState; >diff --git a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm >index 82f8b7757cd44197ecb59c3b1252008cf59ef60c..5e36dd006930750112b713fdc4e5aea4d10a9c09 100644 >--- a/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm >+++ b/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm >@@ -911,7 +911,7 @@ void MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession(LegacyCDMSession* sessi > if (session == m_session) > return; > >- m_session = toCDMSessionMediaSourceAVFObjC(session); >+ m_session = makeWeakPtr(toCDMSessionMediaSourceAVFObjC(session)); > > if (CDMSessionAVStreamSession* cdmStreamSession = toCDMSessionAVStreamSession(m_session.get())) > cdmStreamSession->setStreamSession(streamSession());
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 193211
: 358527