AudioTrackPrivateMediaSourceAVFObjC::AudioTrackPrivateMediaSourceAVFObjC(AVAssetTrack* track, SourceBufferPrivateAVFObjC* parent)
    : m_impl(std::make_unique<AVTrackPrivateAVFObjCImpl>(track))
    , m_parent(parent)
    , m_trackID(-1)
    , m_enabled(false)
{
    resetPropertiesFromTrack();
}
void VideoTrackPrivateAVFObjC::setAssetTrack(AVAssetTrack *track)
{
    m_impl = std::make_unique<AVTrackPrivateAVFObjCImpl>(track);
    resetPropertiesFromTrack();
}
VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC(AVAssetTrack* track)
    : m_impl(std::make_unique<AVTrackPrivateAVFObjCImpl>(track))
{
    resetPropertiesFromTrack();
}