Changeset 220577 in webkit


Ignore:
Timestamp:
Aug 10, 2017 9:22:59 PM (7 years ago)
Author:
mitz@apple.com
Message:

Fixed building for macOS 10.12 with the macOS 10.13 SDK.

Suppressed the unguarded-availability-new warning around uses of AVSampleBufferAudioRenderer
and AVSampleBufferRenderSynchronizer. Even though the 10.13 SDK declares them as available
starting in that release, they have been available as SPI earlier.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableAudioSample):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVSampleBufferErrorListener beginObservingRenderer:]):
(-[WebAVSampleBufferErrorListener stopObservingRenderer:]):
(-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::rendererDidReceiveError):
(WebCore::SourceBufferPrivateAVFObjC::flush):

Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r220574 r220577  
     12017-08-10  Dan Bernstein  <mitz@apple.com>
     2
     3        Fixed building for macOS 10.12 with the macOS 10.13 SDK.
     4
     5        Suppressed the unguarded-availability-new warning around uses of AVSampleBufferAudioRenderer
     6        and AVSampleBufferRenderSynchronizer. Even though the 10.13 SDK declares them as available
     7        starting in that release, they have been available as SPI earlier.
     8
     9        * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
     10        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
     11        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
     12        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableAudioSample):
     13        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
     14        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):
     15        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
     16        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
     17        (-[WebAVSampleBufferErrorListener beginObservingRenderer:]):
     18        (-[WebAVSampleBufferErrorListener stopObservingRenderer:]):
     19        (-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):
     20        (WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
     21        (WebCore::SourceBufferPrivateAVFObjC::rendererDidReceiveError):
     22        (WebCore::SourceBufferPrivateAVFObjC::flush):
     23
    1242017-08-10  Brady Eidson  <beidson@apple.com>
    225
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h

    r220045 r220577  
    5555    // SourceBufferPrivateAVFObjCErrorClient
    5656    void layerDidReceiveError(AVSampleBufferDisplayLayer *, NSError *, bool& shouldIgnore) override;
     57#pragma clang diagnostic push
     58#pragma clang diagnostic ignored "-Wunknown-pragmas"
     59#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    5760    void rendererDidReceiveError(AVSampleBufferAudioRenderer *, NSError *, bool& shouldIgnore) override;
     61#pragma clang diagnostic pop
    5862
    5963    void addSourceBuffer(SourceBufferPrivateAVFObjC*);
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h

    r220045 r220577  
    7272    static MediaPlayer::SupportsType supportsType(const MediaEngineSupportParameters&);
    7373
     74#pragma clang diagnostic push
     75#pragma clang diagnostic ignored "-Wunknown-pragmas"
     76#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    7477    void addAudioRenderer(AVSampleBufferAudioRenderer*);
    7578    void removeAudioRenderer(AVSampleBufferAudioRenderer*);
     79#pragma clang diagnostic pop
    7680
    7781    MediaPlayer::NetworkState networkState() const override;
     
    8690    void setHasAvailableVideoFrame(bool);
    8791    bool hasAvailableVideoFrame() const override;
     92#pragma clang diagnostic push
     93#pragma clang diagnostic ignored "-Wunknown-pragmas"
     94#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    8895    void setHasAvailableAudioSample(AVSampleBufferAudioRenderer*, bool);
     96#pragma clang diagnostic pop
    8997    bool allRenderersHaveAvailableSamples() const { return m_allRenderersHaveAvailableSamples; }
    9098    void updateAllRenderersHaveAvailableSamples();
     
    253261        bool hasAudibleSample { false };
    254262    };
     263#pragma clang diagnostic push
     264#pragma clang diagnostic ignored "-Wunknown-pragmas"
     265#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    255266    HashMap<RetainPtr<AVSampleBufferAudioRenderer>, AudioRendererProperties> m_sampleBufferAudioRendererMap;
    256267    RetainPtr<AVSampleBufferRenderSynchronizer> m_synchronizer;
     268#pragma clang diagnostic pop
    257269    RetainPtr<id> m_timeJumpedObserver;
    258270    RetainPtr<id> m_durationObserver;
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm

    r220045 r220577  
    6767SOFT_LINK_CLASS_OPTIONAL(AVFoundation, AVAsset)
    6868SOFT_LINK_CLASS_OPTIONAL(AVFoundation, AVURLAsset)
     69#pragma clang diagnostic push
     70#pragma clang diagnostic ignored "-Wunknown-pragmas"
     71#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    6972SOFT_LINK_CLASS_OPTIONAL(AVFoundation, AVSampleBufferAudioRenderer)
     73#pragma clang diagnostic pop
    7074SOFT_LINK_CLASS_OPTIONAL(AVFoundation, AVSampleBufferDisplayLayer)
     75#pragma clang diagnostic push
     76#pragma clang diagnostic ignored "-Wunknown-pragmas"
     77#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    7178SOFT_LINK_CLASS_OPTIONAL(AVFoundation, AVSampleBufferRenderSynchronizer)
     79#pragma clang diagnostic pop
    7280SOFT_LINK_CLASS_OPTIONAL(AVFoundation, AVStreamDataParser)
    7381SOFT_LINK_CLASS_OPTIONAL(AVFoundation, AVStreamSession);
     
    794802}
    795803
     804#pragma clang diagnostic push
     805#pragma clang diagnostic ignored "-Wunknown-pragmas"
     806#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    796807void MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableAudioSample(AVSampleBufferAudioRenderer* renderer, bool flag)
     808#pragma clang diagnostic pop
    797809{
    798810    auto iter = m_sampleBufferAudioRendererMap.find(renderer);
     
    9961008}
    9971009
     1010#pragma clang diagnostic push
     1011#pragma clang diagnostic ignored "-Wunknown-pragmas"
     1012#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    9981013void MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer(AVSampleBufferAudioRenderer* audioRenderer)
     1014#pragma clang diagnostic pop
    9991015{
    10001016    if (m_sampleBufferAudioRendererMap.contains(audioRenderer))
     
    10111027}
    10121028
     1029#pragma clang diagnostic push
     1030#pragma clang diagnostic ignored "-Wunknown-pragmas"
     1031#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    10131032void MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer(AVSampleBufferAudioRenderer* audioRenderer)
     1033#pragma clang diagnostic pop
    10141034{
    10151035    auto iter = m_sampleBufferAudioRendererMap.find(audioRenderer);
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h

    r220045 r220577  
    6969    virtual ~SourceBufferPrivateAVFObjCErrorClient() { }
    7070    virtual void layerDidReceiveError(AVSampleBufferDisplayLayer *, NSError *, bool& shouldIgnore) = 0;
     71#pragma clang diagnostic push
     72#pragma clang diagnostic ignored "-Wunknown-pragmas"
     73#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    7174    virtual void rendererDidReceiveError(AVSampleBufferAudioRenderer *, NSError *, bool& shouldIgnore) = 0;
     75#pragma clang diagnostic pop
    7276};
    7377
     
    110114    void unregisterForErrorNotifications(SourceBufferPrivateAVFObjCErrorClient*);
    111115    void layerDidReceiveError(AVSampleBufferDisplayLayer *, NSError *);
     116#pragma clang diagnostic push
     117#pragma clang diagnostic ignored "-Wunknown-pragmas"
     118#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    112119    void rendererDidReceiveError(AVSampleBufferAudioRenderer *, NSError *);
     120#pragma clang diagnostic pop
    113121
    114122    void setVideoLayer(AVSampleBufferDisplayLayer*);
     
    140148
    141149    void flushVideo();
     150#pragma clang diagnostic push
     151#pragma clang diagnostic ignored "-Wunknown-pragmas"
     152#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    142153    void flush(AVSampleBufferAudioRenderer *);
     154#pragma clang diagnostic pop
    143155
    144156    WeakPtr<SourceBufferPrivateAVFObjC> createWeakPtr() { return m_weakFactory.createWeakPtr(); }
     
    154166    RetainPtr<AVAsset> m_asset;
    155167    RetainPtr<AVSampleBufferDisplayLayer> m_displayLayer;
     168#pragma clang diagnostic push
     169#pragma clang diagnostic ignored "-Wunknown-pragmas"
     170#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    156171    HashMap<int, RetainPtr<AVSampleBufferAudioRenderer>> m_audioRenderers;
     172#pragma clang diagnostic pop
    157173    RetainPtr<WebAVStreamDataParserListener> m_delegate;
    158174    RetainPtr<WebAVSampleBufferErrorListener> m_errorListener;
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm

    r220045 r220577  
    6868SOFT_LINK_CLASS(AVFoundation, AVAssetTrack)
    6969SOFT_LINK_CLASS(AVFoundation, AVStreamDataParser)
     70#pragma clang diagnostic push
     71#pragma clang diagnostic ignored "-Wunknown-pragmas"
     72#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    7073SOFT_LINK_CLASS(AVFoundation, AVSampleBufferAudioRenderer)
     74#pragma clang diagnostic pop
    7175SOFT_LINK_CLASS(AVFoundation, AVSampleBufferDisplayLayer)
    7276SOFT_LINK_CLASS(AVFoundation, AVStreamSession)
     
    222226    WebCore::SourceBufferPrivateAVFObjC* _parent;
    223227    Vector<RetainPtr<AVSampleBufferDisplayLayer>> _layers;
     228#pragma clang diagnostic push
     229#pragma clang diagnostic ignored "-Wunknown-pragmas"
     230#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    224231    Vector<RetainPtr<AVSampleBufferAudioRenderer>> _renderers;
     232#pragma clang diagnostic pop
    225233}
    226234
     
    229237- (void)beginObservingLayer:(AVSampleBufferDisplayLayer *)layer;
    230238- (void)stopObservingLayer:(AVSampleBufferDisplayLayer *)layer;
     239#pragma clang diagnostic push
     240#pragma clang diagnostic ignored "-Wunknown-pragmas"
     241#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    231242- (void)beginObservingRenderer:(AVSampleBufferAudioRenderer *)renderer;
    232243- (void)stopObservingRenderer:(AVSampleBufferAudioRenderer *)renderer;
     244#pragma clang diagnostic pop
    233245@end
    234246
     
    293305}
    294306
     307#pragma clang diagnostic push
     308#pragma clang diagnostic ignored "-Wunknown-pragmas"
     309#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    295310- (void)beginObservingRenderer:(AVSampleBufferAudioRenderer*)renderer
    296311{
     312#pragma clang diagnostic pop
    297313    ASSERT(_parent);
    298314    ASSERT(!_renderers.contains(renderer));
     
    302318}
    303319
     320#pragma clang diagnostic push
     321#pragma clang diagnostic ignored "-Wunknown-pragmas"
     322#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    304323- (void)stopObservingRenderer:(AVSampleBufferAudioRenderer*)renderer
     324#pragma clang diagnostic pop
    305325{
    306326    ASSERT(_parent);
     
    338358
    339359    } else if ([object isKindOfClass:getAVSampleBufferAudioRendererClass()]) {
     360#pragma clang diagnostic push
     361#pragma clang diagnostic ignored "-Wunknown-pragmas"
     362#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    340363        RetainPtr<AVSampleBufferAudioRenderer> renderer = (AVSampleBufferAudioRenderer *)object;
     364#pragma clang diagnostic pop
    341365        RetainPtr<NSError> error = [change valueForKey:NSKeyValueChangeNewKey];
    342366
     
    794818
    795819    if (!track->enabled()) {
     820#pragma clang diagnostic push
     821#pragma clang diagnostic ignored "-Wunknown-pragmas"
     822#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    796823        RetainPtr<AVSampleBufferAudioRenderer> renderer = m_audioRenderers.get(trackID);
     824#pragma clang diagnostic pop
    797825        [m_parser setShouldProvideMediaData:NO forTrackID:trackID];
    798826        if (m_mediaSource)
     
    800828    } else {
    801829        [m_parser setShouldProvideMediaData:YES forTrackID:trackID];
     830#pragma clang diagnostic push
     831#pragma clang diagnostic ignored "-Wunknown-pragmas"
     832#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    802833        RetainPtr<AVSampleBufferAudioRenderer> renderer;
     834#pragma clang diagnostic pop
    803835        if (!m_audioRenderers.contains(trackID)) {
    804836            renderer = adoptNS([allocAVSampleBufferAudioRendererInstance() init]);
     
    890922}
    891923
     924#pragma clang diagnostic push
     925#pragma clang diagnostic ignored "-Wunknown-pragmas"
     926#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    892927void SourceBufferPrivateAVFObjC::rendererDidReceiveError(AVSampleBufferAudioRenderer *renderer, NSError *error)
     928#pragma clang diagnostic pop
    893929{
    894930    LOG(MediaSource, "SourceBufferPrivateAVFObjC::rendererDidReceiveError(%p): renderer(%p), error(%@)", this, renderer, [error description]);
     
    939975}
    940976
     977#pragma clang diagnostic push
     978#pragma clang diagnostic ignored "-Wunknown-pragmas"
     979#pragma clang diagnostic ignored "-Wunguarded-availability-new"
    941980void SourceBufferPrivateAVFObjC::flush(AVSampleBufferAudioRenderer *renderer)
     981#pragma clang diagnostic pop
    942982{
    943983    [renderer flush];
Note: See TracChangeset for help on using the changeset viewer.