/* * Copyright (c) 2012 Yoann Blein * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #pragma once #include #include #include #include #include namespace Swift { class RTPPayloadType : public Payload { public: typedef boost::shared_ptr ref; typedef std::map ParameterMap; public: RTPPayloadType(boost::uint8_t id = 0, const std::string& name = "", boost::uint32_t clockrate = 0, boost::uint8_t channels = 1, boost::uint32_t ptime = 0, boost::uint32_t maxptime = 0) : id(id), name(name), clockrate(clockrate), channels(channels), ptime(ptime), maxptime(maxptime) {} void setChannels(boost::uint32_t channels) { this->channels = channels; } boost::uint32_t getChannels() const { return this->channels; } void setClockrate(boost::uint32_t clockrate) { this->clockrate = clockrate; } boost::uint32_t getClockrate() const { return this->clockrate; } void setID(boost::uint8_t id) { this->id = id; } boost::uint8_t getID() const { return this->id; } void setMaxptime(boost::uint32_t maxptime) { this->maxptime = maxptime; } boost::uint32_t getMaxptime() const { return this->maxptime; } void setName(const std::string& name) { this->name = name; } const std::string& getName() const { return this->name; } void setPTime(boost::uint32_t ptime) { this->ptime = ptime; } boost::uint32_t getPTime() const { return this->ptime; } bool addParameter(const std::string& name, const std::string& value) { return parameters.insert(std::make_pair(name, value)).second; } const ParameterMap& getParameters() const { return parameters; } private: boost::uint8_t id; std::string name; boost::uint32_t clockrate; boost::uint8_t channels; boost::uint32_t ptime; boost::uint32_t maxptime; ParameterMap parameters; }; }