diff options
Diffstat (limited to 'Swiften/ScreenSharing/IncomingScreenSharing.h')
-rw-r--r-- | Swiften/ScreenSharing/IncomingScreenSharing.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Swiften/ScreenSharing/IncomingScreenSharing.h b/Swiften/ScreenSharing/IncomingScreenSharing.h index a9850fd..f6d9b62 100644 --- a/Swiften/ScreenSharing/IncomingScreenSharing.h +++ b/Swiften/ScreenSharing/IncomingScreenSharing.h @@ -8,17 +8,21 @@ #include <Swiften/ScreenSharing/ScreenSharing.h> #include <Swiften/Jingle/JingleContentID.h> +#include <Swiften/Elements/RTPPayloadType.h> +#include <Swiften/Base/boost_bsignals.h> namespace Swift { class JingleContentPayload; + class VP8RTPParser; + class VideoDecoder; + class Image; - class IncomingScreenSharing : public ScreenSharing - { + class IncomingScreenSharing : public ScreenSharing { public: typedef boost::shared_ptr<IncomingScreenSharing> ref; public: - IncomingScreenSharing(boost::shared_ptr<JingleSession> session, UDPSocketFactory* udpSocketFactory, + IncomingScreenSharing(boost::shared_ptr<JingleSession> jingleSession, UDPSocketFactory* udpSocketFactory, boost::shared_ptr<JingleContentPayload> content); virtual ~IncomingScreenSharing(); @@ -26,10 +30,17 @@ namespace Swift { void accept(); + public: + boost::signal<void (const Image&)> onNewImageReceived; + private: JingleContentID getContentID() const; + void hangleNewImageDecoded(const Image& image); private: boost::shared_ptr<JingleContentPayload> initialContent; + RTPPayloadType payloadTypeUsed; + VP8RTPParser* parser; + VideoDecoder* decoder; }; } |