1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file. 4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#ifndef MEDIA_BASE_TEXT_CUE_H_ 6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define MEDIA_BASE_TEXT_CUE_H_ 7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include <string> 9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "base/memory/ref_counted.h" 11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "base/time/time.h" 12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "media/base/media_export.h" 13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace media { 15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// A text buffer to carry the components of a text track cue. 17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)class MEDIA_EXPORT TextCue 18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) : public base::RefCountedThreadSafe<TextCue> { 19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) public: 20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) TextCue(const base::TimeDelta& timestamp, 21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const base::TimeDelta& duration, 22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const std::string& id, 23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const std::string& settings, 24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const std::string& text); 25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) // Access to constructor parameters. 27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) base::TimeDelta timestamp() const { return timestamp_; } 28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) base::TimeDelta duration() const { return duration_; } 29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const std::string& id() const { return id_; } 30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const std::string& settings() const { return settings_; } 31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) const std::string& text() const { return text_; } 32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) private: 34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) friend class base::RefCountedThreadSafe<TextCue>; 35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) ~TextCue(); 36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) base::TimeDelta timestamp_; 38f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) base::TimeDelta duration_; 39f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) std::string id_; 40f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) std::string settings_; 41f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) std::string text_; 42f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 43f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) DISALLOW_IMPLICIT_CONSTRUCTORS(TextCue); 44f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}; 45f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 46f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} // namespace media 47f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 48f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#endif // MEDIA_BASE_TEXT_CUE_H_ 49