InbandMetadataTextTrackPrivateGStreamer.h [plain text]
#pragma once
#if ENABLE(VIDEO) && USE(GSTREAMER) && ENABLE(VIDEO_TRACK)
#include "InbandTextTrackPrivate.h"
namespace WebCore {
class InbandMetadataTextTrackPrivateGStreamer : public InbandTextTrackPrivate {
public:
static Ref<InbandMetadataTextTrackPrivateGStreamer> create(Kind kind, CueFormat cueFormat, const AtomicString& id = emptyAtom())
{
return adoptRef(*new InbandMetadataTextTrackPrivateGStreamer(kind, cueFormat, id));
}
~InbandMetadataTextTrackPrivateGStreamer() { }
Kind kind() const override { return m_kind; }
AtomicString id() const override { return m_id; }
AtomicString inBandMetadataTrackDispatchType() const override { return m_inBandMetadataTrackDispatchType; }
void setInBandMetadataTrackDispatchType(const AtomicString& value) { m_inBandMetadataTrackDispatchType = value; }
void addDataCue(const MediaTime& start, const MediaTime& end, const void* data, unsigned length)
{
ASSERT(cueFormat() == Data);
client()->addDataCue(start, end, data, length);
}
void addGenericCue(GenericCueData& data)
{
ASSERT(cueFormat() == Generic);
client()->addGenericCue(data);
}
private:
InbandMetadataTextTrackPrivateGStreamer(Kind kind, CueFormat cueFormat, const AtomicString& id)
: InbandTextTrackPrivate(cueFormat)
, m_kind(kind)
, m_id(id)
{
}
Kind m_kind;
AtomicString m_id;
AtomicString m_inBandMetadataTrackDispatchType;
};
}
#endif // ENABLE(VIDEO) && USE(GSTREAMER) && ENABLE(VIDEO_TRACK)