/* * 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 namespace Swift { class JingleContentPayload; class VP8RTPParser; class VideoDecoder; class Image; class IncomingScreenSharing : public ScreenSharing { public: typedef boost::shared_ptr ref; public: IncomingScreenSharing(boost::shared_ptr jingleSession, UDPSocketFactory* udpSocketFactory, boost::shared_ptr content); virtual ~IncomingScreenSharing(); virtual void cancel(); void accept(); public: boost::signal onNewImageReceived; private: JingleContentID getContentID() const; void hangleNewImageDecoded(const Image& image); private: boost::shared_ptr initialContent; RTPPayloadType payloadTypeUsed; VP8RTPParser* parser; VideoDecoder* decoder; }; }