Transports peer-to-peer data between P2PTransportChannel (wrapped by VoiceChannel) and the hardware (wrapped by a MediaEngine subclass). This is a virtual class that must be implemented by a subclass for each MediaEngine subclass. This object is created by MediaEngine at the request of ChannelManager. Each VoiceChannel object has its own MediaChannel object. The methods shown are not thread-safe, and can be called on any thread.
Syntax
class MediaChannel : public sigslot::has_slots<>
Interfaces
Name | Description |
---|---|
cricket::MediaChannel::NetworkInterface | This interface defines a single method, SendPacket, which is called by the MediaEngine subclass to send a packet of data to the P2PTransportChannel through VoiceChannel.
|
Methods
Name | Description |
---|---|
virtual int GetOutputLevel() = 0 | Returns a number indicating the output volume. |
MediaChannel() | Constructor. Sets the initial network interface to NULL; you must call SetInterface before you can use the object. |
~MediaChannel | Destructor. |
NetworkInterface* network_interface() | Returns the NetworkInterface object used to send peer-to-peer data to another computer. |
virtual void OnPacketReceived(const void *data, int len)=0 | Called by VoiceChannel with an incoming packet of audio data. |
virtual void SetCodecs(const std::vector<Codec> &codecs)=0 | Specifies the codecs that the MediaEngine should use. |
void SetInterface(NetworkInterface *iface) | Sets the NetworkInterface object that handles sending packets of data. VoiceChannel calls this method, passing in a pointer to itself. |
virtual void SetPlayout(bool playout)=0 | Specifies whether to enable audio rendering. True means that it should be enabled. |
virtual void SetSend(bool send)=0 | Specifies whether to enable audio capture. True means that it should be enabled. |
Attributes: public
Declaration file: talk/session/phone/mediachannel.h