text_track_config.h revision f2477e01787aa58f445919b809d89e252beef54f
1// Copyright 2013 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_CONFIG_H_
6#define MEDIA_BASE_TEXT_TRACK_CONFIG_H_
7
8#include <string>
9
10#include "media/base/media_export.h"
11
12namespace media {
13
14// Specifies the varieties of text tracks.
15enum TextKind {
16  kTextSubtitles,
17  kTextCaptions,
18  kTextDescriptions,
19  kTextMetadata,
20  kTextNone
21};
22
23class MEDIA_EXPORT TextTrackConfig {
24 public:
25  TextTrackConfig();
26  TextTrackConfig(TextKind kind,
27                  const std::string& label,
28                  const std::string& language,
29                  const std::string& id);
30
31  // Returns true if all fields in |config| match this config.
32  bool Matches(const TextTrackConfig& config) const;
33
34  TextKind kind() const { return kind_; }
35  const std::string& label() const { return label_; }
36  const std::string& language() const { return language_; }
37  const std::string& id() const { return id_; }
38
39 private:
40  TextKind kind_;
41  std::string label_;
42  std::string language_;
43  std::string id_;
44};
45
46}  // namespace media
47
48#endif  // MEDIA_BASE_TEXT_TRACK_H_
49