/** * @class dash::mpd::IContentComponent * @brief This interface is needed for accessing the attributes and elements of the ContentComponent element * as specified in ISO/IEC 23009-1, Part 1, 2012, section 5.3.4.2, table 6 * @details Each Adaptation Set contains one or more media content components. The properties of each media content * component are described by a ContentComponent element or may be described directly on the AdaptationSet element * if only one media content component is present in the Adaptation Set. ContentComponent elements are contained in an AdaptationSet element. * @see dash::mpd::IMPDElement dash::mpd::IDescriptor dash::mpd::IAdaptationSet * * @author bitmovin Softwareentwicklung OG \n * Email: libdash-dev@vicky.bitmovin.net * @version 2.1 * @date 2013 * @copyright bitmovin Softwareentwicklung OG, All Rights Reserved \n\n * This source code and its use and distribution, is subject to the terms * and conditions of the applicable license agreement. */ #ifndef ICONTENTCOMPONENT_H_ #define ICONTENTCOMPONENT_H_ #include "config.h" #include "IMPDElement.h" #include "IDescriptor.h" namespace dash { namespace mpd { class IContentComponent : public virtual IMPDElement { public: virtual ~IContentComponent(){} /** * @copydoc dash::mpd::IAdaptationSet::GetAccessibility() */ virtual const std::vector& GetAccessibility () const = 0; /** * @copydoc dash::mpd::IAdaptationSet::GetRole() */ virtual const std::vector& GetRole () const = 0; /** * @copydoc dash::mpd::IAdaptationSet::GetRating() */ virtual const std::vector& GetRating () const = 0; /** * @copydoc dash::mpd::IAdaptationSet::GetViewpoint() */ virtual const std::vector& GetViewpoint () const = 0; /** * Returns an unsigned integer that specifies an identifier for this media component. * The attribute shall be unique in the scope of the containing Adaptation Set. * @return an unsigned integer */ virtual uint32_t GetId () const = 0; /** * @copydoc dash::mpd::IAdaptationSet::GetLang() */ virtual const std::string& GetLang () const = 0; /** * @copydoc dash::mpd::IAdaptationSet::GetContentType() */ virtual const std::string& GetContentType () const = 0; /** * @copydoc dash::mpd::IAdaptationSet::GetPar() */ virtual const std::string& GetPar () const = 0; }; } } #endif /* ICONTENTCOMPONENT_H_ */