[GStreamer][MSE] Playback pipeline
authoreocanha@igalia.com <eocanha@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 26 Oct 2016 08:42:37 +0000 (08:42 +0000)
committereocanha@igalia.com <eocanha@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 26 Oct 2016 08:42:37 +0000 (08:42 +0000)
commit7d0e1f66e70f7b0d6afa219dffddfdb2717d35c1
tree3e2f8fd42db15524f7a65ede2374e1db34328dcb
parent0c2830a38097b88bf770589b612ea5e5c3ec0304
[GStreamer][MSE] Playback pipeline
https://bugs.webkit.org/show_bug.cgi?id=162901

Reviewed by Xabier Rodriguez-Calvar.

Encapsulate the responsibility to interact with the GStreamer playback pipeline and the
different streams managed by the WebKitMediaSrc element into a new PlaybackPipeline class.

* platform/graphics/gstreamer/mse/PlaybackPipeline.cpp: Added.
(getStreamByTrackId):
(getStreamBySourceBufferPrivate):
(pushSample):
(WebCore::PlaybackPipeline::create):
(WebCore::PlaybackPipeline::PlaybackPipeline):
(WebCore::PlaybackPipeline::~PlaybackPipeline):
(WebCore::PlaybackPipeline::setWebKitMediaSrc):
(WebCore::PlaybackPipeline::webKitMediaSrc):
(WebCore::PlaybackPipeline::addSourceBuffer):
(WebCore::PlaybackPipeline::removeSourceBuffer):
(WebCore::PlaybackPipeline::attachTrack):
(WebCore::PlaybackPipeline::reattachTrack):
(WebCore::PlaybackPipeline::notifyDurationChanged):
(WebCore::PlaybackPipeline::markEndOfStream):
(WebCore::PlaybackPipeline::flushAndEnqueueNonDisplayingSamples):
(WebCore::PlaybackPipeline::enqueueSample):
(WebCore::PlaybackPipeline::pipeline):
* platform/graphics/gstreamer/mse/PlaybackPipeline.h: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@207882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/gstreamer/mse/PlaybackPipeline.cpp [new file with mode: 0644]
Source/WebCore/platform/graphics/gstreamer/mse/PlaybackPipeline.h [new file with mode: 0644]