MediaSourceClientGStreamerMSE.h [plain text]
#pragma once
#if ENABLE(VIDEO) && USE(GSTREAMER) && ENABLE(MEDIA_SOURCE)
#include "GRefPtrGStreamer.h"
#include "MediaSourcePrivate.h"
#include "MediaSourcePrivateClient.h"
#include "WebKitMediaSourceGStreamer.h"
#include <wtf/MediaTime.h>
namespace WebCore {
class ContentType;
class MediaPlayerPrivateGStreamerMSE;
class MediaSample;
class SourceBufferPrivateGStreamer;
class MediaSourceClientGStreamerMSE : public RefCounted<MediaSourceClientGStreamerMSE> {
public:
static Ref<MediaSourceClientGStreamerMSE> create(MediaPlayerPrivateGStreamerMSE&);
virtual ~MediaSourceClientGStreamerMSE();
MediaSourcePrivate::AddStatus addSourceBuffer(RefPtr<SourceBufferPrivateGStreamer>, const ContentType&);
void durationChanged(const MediaTime&);
void markEndOfStream(MediaSourcePrivate::EndOfStreamStatus);
void abort(RefPtr<SourceBufferPrivateGStreamer>);
void resetParserState(RefPtr<SourceBufferPrivateGStreamer>);
bool append(RefPtr<SourceBufferPrivateGStreamer>, const unsigned char*, unsigned);
void removedFromMediaSource(RefPtr<SourceBufferPrivateGStreamer>);
void flush(AtomicString);
void enqueueSample(PassRefPtr<MediaSample>);
void clearPlayerPrivate();
const MediaTime& duration();
GRefPtr<WebKitMediaSrc> webKitMediaSrc();
private:
MediaSourceClientGStreamerMSE(MediaPlayerPrivateGStreamerMSE&);
MediaPlayerPrivateGStreamerMSE* m_playerPrivate;
MediaTime m_duration;
};
}
#endif // USE(GSTREAMER)