Changeset 181153 in webkit


Ignore:
Timestamp:
Mar 6, 2015 6:10:11 AM (9 years ago)
Author:
Philippe Normand
Message:

[MediaStream] new load method for MediaStreamPrivate objects
https://bugs.webkit.org/show_bug.cgi?id=142346

Reviewed by Eric Carlson.

No new tests, existing mediastream tests cover this use-case.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource): Use new load method for MediaStreams.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::load): New stub.
(WebCore::MediaPlayer::load): New load method for
MediaStreamPrivate.
(WebCore::MediaPlayer::nextBestMediaEngine): Set a new boolean on
the MediaEngineSupportParameters to differenciate with MSE and
normal video resources.
(WebCore::MediaPlayer::loadWithNextMediaEngine): Defer loading of
the MediaStream to the MediaPlayerPrivate backend.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaEngineSupportParameters::MediaEngineSupportParameters):

  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::load): New empty load
method for MediaStreamPrivate objects.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:

(WebCore::MediaPlayerPrivateQTKit::load): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
Location:
trunk/Source/WebCore
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r181152 r181153  
     12015-03-05  Philippe Normand  <pnormand@igalia.com>
     2
     3        [MediaStream] new load method for MediaStreamPrivate objects
     4        https://bugs.webkit.org/show_bug.cgi?id=142346
     5
     6        Reviewed by Eric Carlson.
     7
     8        No new tests, existing mediastream tests cover this use-case.
     9
     10        * html/HTMLMediaElement.cpp:
     11        (WebCore::HTMLMediaElement::loadResource): Use new load method for MediaStreams.
     12        * platform/graphics/MediaPlayer.cpp:
     13        (WebCore::NullMediaPlayerPrivate::load): New stub.
     14        (WebCore::MediaPlayer::load): New load method for
     15        MediaStreamPrivate.
     16        (WebCore::MediaPlayer::nextBestMediaEngine): Set a new boolean on
     17        the MediaEngineSupportParameters to differenciate with MSE and
     18        normal video resources.
     19        (WebCore::MediaPlayer::loadWithNextMediaEngine): Defer loading of
     20        the MediaStream to the MediaPlayerPrivate backend.
     21        * platform/graphics/MediaPlayer.h:
     22        (WebCore::MediaEngineSupportParameters::MediaEngineSupportParameters):
     23        * platform/graphics/MediaPlayerPrivate.h:
     24        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
     25        (WebCore::MediaPlayerPrivateAVFoundation::load): New empty load
     26        method for MediaStreamPrivate objects.
     27        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
     28        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load): Ditto.
     29        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
     30        (WebCore::MediaPlayerPrivateGStreamer::load): Ditto.
     31        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
     32        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
     33        (WebCore::MediaPlayerPrivateQTKit::load): Ditto.
     34        * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
     35
    1362015-03-05  Philippe Normand  <pnormand@igalia.com>
    237
  • trunk/Source/WebCore/html/HTMLMediaElement.cpp

    r180801 r181153  
    12221222    } else
    12231223#endif
     1224#if ENABLE(MEDIA_STREAM)
     1225        if (m_mediaStreamSrcObject)
     1226            m_player->load(m_mediaStreamSrcObject->privateStream());
     1227        else
     1228#endif
    12241229    if (!m_player->load(url, contentType, keySystem))
    12251230        mediaLoadingFailed(MediaPlayer::FormatError);
  • trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp

    r180839 r181153  
    4848#endif
    4949
     50#if ENABLE(MEDIA_STREAM)
     51#include "MediaStreamPrivate.h"
     52#endif
     53
    5054#if USE(GSTREAMER)
    5155#include "MediaPlayerPrivateGStreamer.h"
     
    8589#if ENABLE(MEDIA_SOURCE)
    8690    virtual void load(const String&, MediaSourcePrivateClient*) { }
     91#endif
     92#if ENABLE(MEDIA_STREAM)
     93    virtual void load(MediaStreamPrivate*) { }
    8794#endif
    8895    virtual void cancelLoad() { }
     
    309316#if ENABLE(MEDIA_SOURCE)
    310317    m_mediaSource = 0;
     318#endif
     319#if ENABLE(MEDIA_STREAM)
     320    m_mediaStream = 0;
    311321#endif
    312322
     
    348358#endif
    349359
     360#if ENABLE(MEDIA_STREAM)
     361bool MediaPlayer::load(MediaStreamPrivate* mediaStream)
     362{
     363    ASSERT(mediaStream);
     364    m_mediaStream = mediaStream;
     365    m_keySystem = "";
     366    m_contentMIMETypeWasInferredFromExtension = false;
     367    loadWithNextMediaEngine(0);
     368    return m_currentMediaEngine;
     369}
     370#endif
     371
    350372const MediaPlayerFactory* MediaPlayer::nextBestMediaEngine(const MediaPlayerFactory* current) const
    351373{
     
    359381#if ENABLE(MEDIA_SOURCE)
    360382    parameters.isMediaSource = !!m_mediaSource;
     383#endif
     384#if ENABLE(MEDIA_STREAM)
     385    parameters.isMediaStream = !!m_mediaStream;
    361386#endif
    362387
     
    397422        else
    398423#endif
     424#if ENABLE(MEDIA_STREAM)
     425        if (m_mediaStream)
     426            m_private->load(m_mediaStream.get());
     427        else
     428#endif
    399429        m_private->load(m_url.string());
    400430    } else {
  • trunk/Source/WebCore/platform/graphics/MediaPlayer.h

    r180839 r181153  
    7575class MediaSourcePrivateClient;
    7676#endif
     77#if ENABLE(MEDIA_STREAM)
     78class MediaStreamPrivate;
     79#endif
    7780class MediaPlayerPrivateInterface;
    7881class TextTrackRepresentation;
     
    114117    bool isMediaSource;
    115118#endif
     119#if ENABLE(MEDIA_STREAM)
     120    bool isMediaStream;
     121#endif
    116122
    117123    MediaEngineSupportParameters()
     
    120126#endif
    121127    {
     128#if ENABLE(MEDIA_STREAM)
     129        isMediaStream = false;
     130#endif
    122131    }
    123132};
     
    325334    bool load(const URL&, const ContentType&, MediaSourcePrivateClient*);
    326335#endif
     336#if ENABLE(MEDIA_STREAM)
     337    bool load(MediaStreamPrivate*);
     338#endif
    327339    void cancelLoad();
    328340
     
    605617    RefPtr<MediaSourcePrivateClient> m_mediaSource;
    606618#endif
     619#if ENABLE(MEDIA_STREAM)
     620    RefPtr<MediaStreamPrivate> m_mediaStream;
     621#endif
    607622};
    608623
  • trunk/Source/WebCore/platform/graphics/MediaPlayerPrivate.h

    r180839 r181153  
    4949    virtual void load(const String& url, MediaSourcePrivateClient*) = 0;
    5050#endif
     51#if ENABLE(MEDIA_STREAM)
     52    virtual void load(MediaStreamPrivate*) = 0;
     53#endif
    5154    virtual void cancelLoad() = 0;
    5255   
  • trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h

    r180839 r181153  
    153153#if ENABLE(MEDIA_SOURCE)
    154154    virtual void load(const String&, MediaSourcePrivateClient*);
     155#endif
     156#if ENABLE(MEDIA_STREAM)
     157    virtual void load(MediaStreamPrivate*) { }
    155158#endif
    156159    virtual void cancelLoad() = 0;
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h

    r181006 r181153  
    9696    virtual void load(const String& url) override;
    9797    virtual void load(const String& url, MediaSourcePrivateClient*) override;
     98#if ENABLE(MEDIA_STREAM)
     99    virtual void load(MediaStreamPrivate*) { }
     100#endif
    98101    virtual void cancelLoad() override;
    99102
  • trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp

    r180532 r181153  
    318318    m_mediaSource = mediaSource;
    319319    load(mediasourceUri);
     320}
     321#endif
     322
     323#if ENABLE(MEDIA_STREAM)
     324void MediaPlayerPrivateGStreamer::load(MediaStreamPrivate* mediaStream)
     325{
     326    notImplemented();
    320327}
    321328#endif
  • trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h

    r180531 r181153  
    7676#if ENABLE(MEDIA_SOURCE)
    7777    void load(const String& url, MediaSourcePrivateClient*);
     78#endif
     79#if ENABLE(MEDIA_STREAM)
     80    void load(MediaStreamPrivate*);
    7881#endif
    7982    void commitLoad();
  • trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h

    r180839 r181153  
    8686#if ENABLE(MEDIA_SOURCE)
    8787    virtual void load(const String&, MediaSourcePrivateClient*);
     88#endif
     89#if ENABLE(MEDIA_STREAM)
     90    virtual void load(MediaStreamPrivate*) { }
    8891#endif
    8992    void cancelLoad();
  • trunk/Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h

    r180839 r181153  
    6161    virtual void load(const String& url) override;
    6262    virtual void load(const String& url, MediaSourcePrivateClient*) override;
     63#if ENABLE(MEDIA_STREAM)
     64    virtual void load(MediaStreamPrivate*) override { };
     65#endif
    6366    virtual void cancelLoad() override;
    6467    virtual void play() override;
Note: See TracChangeset for help on using the changeset viewer.