]> git.tdb.fi Git - xinema.git/blobdiff - source/client.h
Create an icon for the remote
[xinema.git] / source / client.h
index 31bdbec4d70ce6a571425a2dc51e2988ee2d29fd..2b12e4d69f9e1bf074a95cf07497b6465a6bf320 100644 (file)
@@ -5,8 +5,8 @@
 #include <msp/fs/path.h>
 #include <msp/net/streamsocket.h>
 #include <msp/time/timedelta.h>
+#include "xinestream.h"
 
-class XineStream;
 class Xinema;
 
 class Client: public sigc::trackable
@@ -15,6 +15,7 @@ private:
        Xinema &xinema;
        Msp::Net::StreamSocket *socket;
        std::string buffer;
+       Msp::Mutex mutex;
        Msp::Time::TimeDelta last_position;
        bool stale;
 
@@ -27,14 +28,24 @@ private:
        void data_available();
        void end_of_stream();
 
+       XineStream &get_stream() const;
+       int convert_channel(const std::string &);
        void process_command(const std::string &);
        void send_reply(const std::string &);
        void list_directory(const Msp::FS::Path &);
 
        void stream_created(XineStream &);
+       void stream_destroyed();
+       void stream_state_changed(XineStream::State);
        void stream_title_changed(const std::string &);
        void stream_duration_changed(const Msp::Time::TimeDelta &);
        void stream_position_changed(const Msp::Time::TimeDelta &);
+       void stream_size_changed(unsigned, unsigned);
+       void stream_framerate_changed(float);
+       void stream_codecs_changed(const std::string &, const std::string &);
+       void stream_channels_changed();
+       void stream_audio_channel_changed(int);
+       void stream_spu_channel_changed(int);
 };
 
 #endif