Home | History | Annotate | Download | only in track
      1 // Copyright 2014 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 #include "config.h"
      6 #include "core/html/track/AudioTrack.h"
      7 
      8 #include "core/html/HTMLMediaElement.h"
      9 
     10 namespace WebCore {
     11 
     12 AudioTrack::AudioTrack(const String& id, const AtomicString& kind, const AtomicString& label, const AtomicString& language, bool enabled)
     13     : TrackBase(TrackBase::AudioTrack, label, language, id)
     14     , m_enabled(enabled)
     15 {
     16     ScriptWrappable::init(this);
     17     setKind(kind);
     18 }
     19 
     20 AudioTrack::~AudioTrack()
     21 {
     22 }
     23 
     24 void AudioTrack::setEnabled(bool enabled)
     25 {
     26     if (enabled == m_enabled)
     27         return;
     28 
     29     m_enabled = enabled;
     30 
     31     if (mediaElement())
     32         mediaElement()->audioTrackChanged();
     33 }
     34 
     35 const AtomicString& AudioTrack::alternativeKeyword()
     36 {
     37     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("alternative", AtomicString::ConstructFromLiteral));
     38     return keyword;
     39 }
     40 
     41 const AtomicString& AudioTrack::descriptionsKeyword()
     42 {
     43     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("descriptions", AtomicString::ConstructFromLiteral));
     44     return keyword;
     45 }
     46 
     47 const AtomicString& AudioTrack::mainKeyword()
     48 {
     49     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("main", AtomicString::ConstructFromLiteral));
     50     return keyword;
     51 }
     52 
     53 const AtomicString& AudioTrack::mainDescriptionsKeyword()
     54 {
     55     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("main-desc", AtomicString::ConstructFromLiteral));
     56     return keyword;
     57 }
     58 
     59 const AtomicString& AudioTrack::translationKeyword()
     60 {
     61     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("translation", AtomicString::ConstructFromLiteral));
     62     return keyword;
     63 }
     64 
     65 const AtomicString& AudioTrack::commentaryKeyword()
     66 {
     67     DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("commentary", AtomicString::ConstructFromLiteral));
     68     return keyword;
     69 }
     70 
     71 bool AudioTrack::isValidKind(const AtomicString& kind) const
     72 {
     73     return (kind == alternativeKeyword())
     74         || (kind == descriptionsKeyword())
     75         || (kind == mainKeyword())
     76         || (kind == mainDescriptionsKeyword())
     77         || (kind == translationKeyword())
     78         || (kind == commentaryKeyword());
     79 }
     80 
     81 AtomicString AudioTrack::defaultKind() const
     82 {
     83     return emptyAtom;
     84 }
     85 
     86 }
     87