1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef MEDIA_BASE_TEXT_TRACK_H_
6#define MEDIA_BASE_TEXT_TRACK_H_
7
8#include <string>
9
10#include "base/callback.h"
11#include "base/memory/scoped_ptr.h"
12#include "base/time/time.h"
13
14namespace media {
15
16class TextTrackConfig;
17
18class TextTrack {
19 public:
20  virtual ~TextTrack() {}
21  virtual void addWebVTTCue(const base::TimeDelta& start,
22                            const base::TimeDelta& end,
23                            const std::string& id,
24                            const std::string& content,
25                            const std::string& settings) = 0;
26};
27
28typedef base::Callback<void
29    (scoped_ptr<TextTrack>)> AddTextTrackDoneCB;
30
31typedef base::Callback<void
32    (const TextTrackConfig& config,
33     const AddTextTrackDoneCB& done_cb)> AddTextTrackCB;
34
35}  // namespace media
36
37#endif  // MEDIA_BASE_TEXT_TRACK_H_
38