Home | History | Annotate | Download | only in base
      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 
     12 namespace media {
     13 
     14 // Specifies the varieties of text tracks.
     15 enum TextKind {
     16   kTextSubtitles,
     17   kTextCaptions,
     18   kTextDescriptions,
     19   kTextMetadata,
     20   kTextNone
     21 };
     22 
     23 class 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