[GStreamer][MSE][EME] Remove MSE code from regular player and add EME support
authoreocanha@igalia.com <eocanha@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 26 Oct 2016 08:44:40 +0000 (08:44 +0000)
committereocanha@igalia.com <eocanha@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 26 Oct 2016 08:44:40 +0000 (08:44 +0000)
commit81944f6822877830a58029be8fa7e3ad10f29ba8
tree09c968883faabd9737f0cf38f5ec9ab84124abe3
parent89594e8191464d00d021c178cedf4a5211462c6e
[GStreamer][MSE][EME] Remove MSE code from regular player and add EME support
https://bugs.webkit.org/show_bug.cgi?id=162911

Now that the MSE responsibility has been refactored to the dedicated
MediaPlayerPrivateGStreamerMSE subclass, the regular player no longer needs the MSE code,
just to expose some more methods to the subclass. Float timestamps have been migrated to
double. Also, small changes to accomodate the EME support are needed.

This patch is co-authored with Philippe Normand <philn@igalia.com> (EME support) and
Žan Doberšek <zandobersek@gmail.com> (double timestamps).

Reviewed by Xabier Rodriguez-Calvar.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::busMessageCallback):
(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
(WebCore::initializeGStreamerAndRegisterWebKitElements):
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
(WebCore::MediaPlayerPrivateGStreamer::durationMediaTime):
(WebCore::MediaPlayerPrivateGStreamer::currentMediaTime):
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::doSeek):
(WebCore::MediaPlayerPrivateGStreamer::paused):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfText):
(WebCore::MediaPlayerPrivateGStreamer::buffered):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
(WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress):
(WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):
(WebCore::MediaPlayerPrivateGStreamer::durationChanged):
(WebCore::MediaPlayerPrivateGStreamer::supportsType):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::handleSyncMessage):
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::commitLoad): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::pause): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::videoChangedCallback): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::videoSinkCapsChangedCallback): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::setRate): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::totalBytes): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::loadStateChanged): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::timeChanged): Deleted.
(WebCore::mimeTypeSet): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink): Deleted.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore::MediaPlayerPrivateGStreamer::configurePlaySink):
(WebCore::MediaPlayerPrivateGStreamer::isMediaSource):
(WebCore::MediaPlayerPrivateGStreamer::createWeakPtr): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@207885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h