AudioTrackPrivateMediaSourceAVFObjC.cpp [plain text]
#include "config.h"
#include "AudioTrackPrivateMediaSourceAVFObjC.h"
#if ENABLE(MEDIA_SOURCE) && ENABLE(VIDEO_TRACK)
#include "AVTrackPrivateAVFObjCImpl.h"
#include "SourceBufferPrivateAVFObjC.h"
namespace WebCore {
AudioTrackPrivateMediaSourceAVFObjC::AudioTrackPrivateMediaSourceAVFObjC(AVAssetTrack* track, SourceBufferPrivateAVFObjC* parent)
: m_impl(std::make_unique<AVTrackPrivateAVFObjCImpl>(track))
, m_parent(parent)
, m_trackID(-1)
, m_enabled(false)
{
resetPropertiesFromTrack();
}
void AudioTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack()
{
m_trackID = m_impl->trackID();
setKind(m_impl->audioKind());
setId(m_impl->id());
setLabel(m_impl->label());
setLanguage(m_impl->language());
}
void AudioTrackPrivateMediaSourceAVFObjC::setAssetTrack(AVAssetTrack *track)
{
m_impl = std::make_unique<AVTrackPrivateAVFObjCImpl>(track);
resetPropertiesFromTrack();
}
AVAssetTrack* AudioTrackPrivateMediaSourceAVFObjC::assetTrack()
{
return m_impl->assetTrack();
}
bool AudioTrackPrivateMediaSourceAVFObjC::enabled() const
{
return m_enabled;
}
void AudioTrackPrivateMediaSourceAVFObjC::setEnabled(bool enabled)
{
if (m_enabled == enabled)
return;
m_enabled = enabled;
m_parent->trackDidChangeEnabled(this);
}
}
#endif