MediaSourceGStreamer.cpp [plain text]
#include "config.h"
#include "MediaSourceGStreamer.h"
#if ENABLE(MEDIA_SOURCE) && USE(GSTREAMER)
#include "NotImplemented.h"
#include "SourceBufferPrivateGStreamer.h"
#include "WebKitMediaSourceGStreamer.h"
#include <wtf/glib/GRefPtr.h>
namespace WebCore {
void MediaSourceGStreamer::open(MediaSourcePrivateClient* mediaSource, WebKitMediaSrc* src)
{
ASSERT(mediaSource);
mediaSource->setPrivateAndOpen(adoptRef(*new MediaSourceGStreamer(mediaSource, src)));
}
MediaSourceGStreamer::MediaSourceGStreamer(MediaSourcePrivateClient* mediaSource, WebKitMediaSrc* src)
: m_client(adoptRef(new MediaSourceClientGStreamer(src)))
, m_mediaSource(mediaSource)
, m_readyState(MediaPlayer::HaveNothing)
{
ASSERT(m_client);
}
MediaSourceGStreamer::~MediaSourceGStreamer()
{
}
MediaSourceGStreamer::AddStatus MediaSourceGStreamer::addSourceBuffer(const ContentType& contentType, RefPtr<SourceBufferPrivate>& sourceBufferPrivate)
{
RefPtr<SourceBufferPrivateGStreamer> sourceBufferPrivateGStreamer = SourceBufferPrivateGStreamer::create(*m_client, contentType);
sourceBufferPrivate = sourceBufferPrivateGStreamer;
return m_client->addSourceBuffer(sourceBufferPrivateGStreamer, contentType);
}
void MediaSourceGStreamer::durationChanged()
{
m_client->durationChanged(m_mediaSource->duration());
}
void MediaSourceGStreamer::markEndOfStream(EndOfStreamStatus status)
{
m_client->markEndOfStream(status);
}
void MediaSourceGStreamer::unmarkEndOfStream()
{
notImplemented();
}
MediaPlayer::ReadyState MediaSourceGStreamer::readyState() const
{
return m_readyState;
}
void MediaSourceGStreamer::setReadyState(MediaPlayer::ReadyState state)
{
m_readyState = state;
}
void MediaSourceGStreamer::waitForSeekCompleted()
{
notImplemented();
}
void MediaSourceGStreamer::seekCompleted()
{
notImplemented();
}
}
#endif