InbandTextTrackPrivateClient.h [plain text]
#pragma once
#if ENABLE(VIDEO)
#include "Color.h"
#include "InbandGenericCue.h"
#include "TrackPrivateBase.h"
#include <wtf/JSONValues.h>
#include <wtf/MediaTime.h>
#if ENABLE(DATACUE_VALUE)
#include "SerializedPlatformDataCue.h"
#endif
namespace WebCore {
class InbandTextTrackPrivate;
class ISOWebVTTCue;
class InbandTextTrackPrivateClient : public TrackPrivateBaseClient {
public:
virtual ~InbandTextTrackPrivateClient() = default;
virtual void addDataCue(const MediaTime& start, const MediaTime& end, const void*, unsigned) = 0;
#if ENABLE(DATACUE_VALUE)
virtual void addDataCue(const MediaTime& start, const MediaTime& end, Ref<SerializedPlatformDataCue>&&, const String&) = 0;
virtual void updateDataCue(const MediaTime& start, const MediaTime& end, SerializedPlatformDataCue&) = 0;
virtual void removeDataCue(const MediaTime& start, const MediaTime& end, SerializedPlatformDataCue&) = 0;
#endif
virtual void addGenericCue(InbandGenericCue&) = 0;
virtual void updateGenericCue(InbandGenericCue&) = 0;
virtual void removeGenericCue(InbandGenericCue&) = 0;
virtual void parseWebVTTFileHeader(String&&) { ASSERT_NOT_REACHED(); }
virtual void parseWebVTTCueData(const char* data, unsigned length) = 0;
virtual void parseWebVTTCueData(ISOWebVTTCue&&) = 0;
};
}
#endif // ENABLE(VIDEO)