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 14 namespace media { 15 16 // Specifies the varieties of text tracks. 17 enum TextKind { 18 kTextSubtitles, 19 kTextCaptions, 20 kTextDescriptions, 21 kTextMetadata, 22 kTextNone 23 }; 24 25 class TextTrack { 26 public: 27 virtual ~TextTrack() {} 28 virtual void addWebVTTCue(const base::TimeDelta& start, 29 const base::TimeDelta& end, 30 const std::string& id, 31 const std::string& content, 32 const std::string& settings) = 0; 33 }; 34 35 typedef base::Callback<scoped_ptr<TextTrack> 36 (TextKind kind, 37 const std::string& label, 38 const std::string& language)> AddTextTrackCB; 39 40 } // namespace media 41 42 #endif // MEDIA_BASE_TEXT_TRACK_H_ 43