VideoTrackPrivateAVFObjC.cpp [plain text]
#import "config.h"
#import "VideoTrackPrivateAVFObjC.h"
#if ENABLE(VIDEO)
#import "AVTrackPrivateAVFObjCImpl.h"
#import "MediaSelectionGroupAVFObjC.h"
namespace WebCore {
VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC(AVPlayerItemTrack* track)
: m_impl(makeUnique<AVTrackPrivateAVFObjCImpl>(track))
{
resetPropertiesFromTrack();
}
VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC(AVAssetTrack* track)
: m_impl(makeUnique<AVTrackPrivateAVFObjCImpl>(track))
{
resetPropertiesFromTrack();
}
VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC(MediaSelectionOptionAVFObjC& option)
: m_impl(makeUnique<AVTrackPrivateAVFObjCImpl>(option))
{
resetPropertiesFromTrack();
}
void VideoTrackPrivateAVFObjC::resetPropertiesFromTrack()
{
VideoTrackPrivateAVF::setSelected(m_impl->enabled());
setTrackIndex(m_impl->trackID());
setKind(m_impl->videoKind());
setId(m_impl->id());
setLabel(m_impl->label());
setLanguage(m_impl->language());
}
void VideoTrackPrivateAVFObjC::setPlayerItemTrack(AVPlayerItemTrack *track)
{
m_impl = makeUnique<AVTrackPrivateAVFObjCImpl>(track);
resetPropertiesFromTrack();
}
AVPlayerItemTrack* VideoTrackPrivateAVFObjC::playerItemTrack()
{
return m_impl->playerItemTrack();
}
void VideoTrackPrivateAVFObjC::setAssetTrack(AVAssetTrack *track)
{
m_impl = makeUnique<AVTrackPrivateAVFObjCImpl>(track);
resetPropertiesFromTrack();
}
AVAssetTrack* VideoTrackPrivateAVFObjC::assetTrack()
{
return m_impl->assetTrack();
}
void VideoTrackPrivateAVFObjC::setMediaSelectonOption(MediaSelectionOptionAVFObjC& option)
{
m_impl = makeUnique<AVTrackPrivateAVFObjCImpl>(option);
resetPropertiesFromTrack();
}
MediaSelectionOptionAVFObjC* VideoTrackPrivateAVFObjC::mediaSelectionOption()
{
return m_impl->mediaSelectionOption();
}
void VideoTrackPrivateAVFObjC::setSelected(bool enabled)
{
VideoTrackPrivateAVF::setSelected(enabled);
m_impl->setEnabled(enabled);
}
}
#endif