2013-09-24 01:35:40 +00:00
|
|
|
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
2017-12-20 00:56:36 +00:00
|
|
|
#ifndef PACKAGER_MEDIA_BASE_TEXT_TRACK_H_
|
|
|
|
#define PACKAGER_MEDIA_BASE_TEXT_TRACK_H_
|
2013-09-24 01:35:40 +00:00
|
|
|
|
2016-08-17 17:41:40 +00:00
|
|
|
#include <memory>
|
2013-09-24 01:35:40 +00:00
|
|
|
#include <string>
|
|
|
|
|
2016-05-20 21:19:33 +00:00
|
|
|
namespace shaka {
|
2013-09-24 01:35:40 +00:00
|
|
|
namespace media {
|
|
|
|
|
2014-01-24 18:46:46 +00:00
|
|
|
/// Specifies the varieties of text tracks.
|
2013-09-24 01:35:40 +00:00
|
|
|
enum TextKind {
|
|
|
|
kTextSubtitles,
|
|
|
|
kTextCaptions,
|
|
|
|
kTextDescriptions,
|
|
|
|
kTextMetadata,
|
|
|
|
kTextNone
|
|
|
|
};
|
|
|
|
|
|
|
|
class TextTrack {
|
|
|
|
public:
|
2015-07-22 23:40:45 +00:00
|
|
|
~TextTrack() override {}
|
2013-09-24 01:35:40 +00:00
|
|
|
virtual void addWebVTTCue(const base::TimeDelta& start,
|
|
|
|
const base::TimeDelta& end,
|
|
|
|
const std::string& id,
|
|
|
|
const std::string& content,
|
|
|
|
const std::string& settings) = 0;
|
|
|
|
};
|
|
|
|
|
2022-12-17 05:40:00 +00:00
|
|
|
typedef std::function<std::unique_ptr<TextTrack>(TextKind kind,
|
|
|
|
const std::string& label,
|
|
|
|
const std::string& language)>
|
2016-08-17 17:41:40 +00:00
|
|
|
AddTextTrackCB;
|
2013-09-24 01:35:40 +00:00
|
|
|
|
|
|
|
} // namespace media
|
2016-05-20 21:19:33 +00:00
|
|
|
} // namespace shaka
|
2013-09-24 01:35:40 +00:00
|
|
|
|
2017-12-20 00:56:36 +00:00
|
|
|
#endif // PACKAGER_MEDIA_BASE_TEXT_TRACK_H_
|