// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "cobalt/media/base/text_cue.h"

namespace cobalt {
namespace media {

TextCue::TextCue(const base::TimeDelta& timestamp,
                 const base::TimeDelta& duration, const std::string& id,
                 const std::string& settings, const std::string& text)
    : timestamp_(timestamp),
      duration_(duration),
      id_(id),
      settings_(settings),
      text_(text) {}

TextCue::~TextCue() {}

}  // namespace media
}  // namespace cobalt
