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 10namespace blink { 11 12AudioTrack::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 setKind(kind); 17} 18 19AudioTrack::~AudioTrack() 20{ 21} 22 23void AudioTrack::setEnabled(bool enabled) 24{ 25 if (enabled == m_enabled) 26 return; 27 28 m_enabled = enabled; 29 30 if (mediaElement()) 31 mediaElement()->audioTrackChanged(); 32} 33 34const AtomicString& AudioTrack::alternativeKeyword() 35{ 36 DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("alternative", AtomicString::ConstructFromLiteral)); 37 return keyword; 38} 39 40const AtomicString& AudioTrack::descriptionsKeyword() 41{ 42 DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("descriptions", AtomicString::ConstructFromLiteral)); 43 return keyword; 44} 45 46const AtomicString& AudioTrack::mainKeyword() 47{ 48 DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("main", AtomicString::ConstructFromLiteral)); 49 return keyword; 50} 51 52const AtomicString& AudioTrack::mainDescriptionsKeyword() 53{ 54 DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("main-desc", AtomicString::ConstructFromLiteral)); 55 return keyword; 56} 57 58const AtomicString& AudioTrack::translationKeyword() 59{ 60 DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("translation", AtomicString::ConstructFromLiteral)); 61 return keyword; 62} 63 64const AtomicString& AudioTrack::commentaryKeyword() 65{ 66 DEFINE_STATIC_LOCAL(const AtomicString, keyword, ("commentary", AtomicString::ConstructFromLiteral)); 67 return keyword; 68} 69 70bool AudioTrack::isValidKind(const AtomicString& kind) const 71{ 72 return (kind == alternativeKeyword()) 73 || (kind == descriptionsKeyword()) 74 || (kind == mainKeyword()) 75 || (kind == mainDescriptionsKeyword()) 76 || (kind == translationKeyword()) 77 || (kind == commentaryKeyword()); 78} 79 80AtomicString AudioTrack::defaultKind() const 81{ 82 return emptyAtom; 83} 84 85} 86