⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 249276 in webkit


Ignore:
Timestamp:
Aug 29, 2019, 9:14:07 AM (7 years ago)
Author:
cturner@igalia.com
Message:

[GStreamer] Do not use makeWeakPtr from streaming thread.
https://bugs.webkit.org/show_bug.cgi?id=201220

Reviewed by Xabier Rodriguez-Calvar.

Test: imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license.https.html

Recently some asserts were added that you can't create WeakPtr's
from streaming threads when the factory is created on the
main-thread. The fix is to eagerly create the WeakPtr at player
initialization time, rather than lazily when the streaming thread
first asks for it.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r249272 r249276  
     12019-08-29  Charlie Turner  <cturner@igalia.com>
     2
     3        [GStreamer] Do not use makeWeakPtr from streaming thread.
     4        https://bugs.webkit.org/show_bug.cgi?id=201220
     5
     6        Reviewed by Xabier Rodriguez-Calvar.
     7
     8        Test: imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license.https.html
     9
     10        Recently some asserts were added that you can't create WeakPtr's
     11        from streaming threads when the factory is created on the
     12        main-thread. The fix is to eagerly create the WeakPtr at player
     13        initialization time, rather than lazily when the streaming thread
     14        first asks for it.
     15
     16        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
     17
    1182019-08-29  Rob Buis  <rbuis@igalia.com>
    219
  • trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h

    r249205 r249276  
    8989void registerWebKitGStreamerElements();
    9090
    91 class MediaPlayerPrivateGStreamerBase : public MediaPlayerPrivateInterface, public CanMakeWeakPtr<MediaPlayerPrivateGStreamerBase>
     91// Use eager initialization for the WeakPtrFactory since we call makeWeakPtr() from another thread.
     92class MediaPlayerPrivateGStreamerBase : public MediaPlayerPrivateInterface, public CanMakeWeakPtr<MediaPlayerPrivateGStreamerBase, WeakPtrFactoryInitialization::Eager>
    9293#if USE(TEXTURE_MAPPER_GL)
    9394#if USE(NICOSIA)
Note: See TracChangeset for help on using the changeset viewer.