6 #include <msp/strings/lexicalcast.h>
7 #include <msp/time/timedelta.h>
21 sigc::signal<void, State> signal_state_changed;
22 sigc::signal<void, const std::string &> signal_title_changed;
23 sigc::signal<void, const Msp::Time::TimeDelta &> signal_duration_changed;
24 sigc::signal<void, const Msp::Time::TimeDelta &> signal_position_changed;
28 xine_stream_t *stream;
29 xine_event_queue_t *queue;
32 Msp::Time::TimeDelta duration;
33 Msp::Time::TimeDelta position;
36 XineStream(XineEngine &, const std::string &);
39 State get_state() const { return state; }
40 const Msp::Time::TimeDelta &get_duration() const { return duration; }
41 const Msp::Time::TimeDelta &get_position() const { return position; }
42 const std::string &get_title() const { return title; }
45 void seek(const Msp::Time::TimeDelta &);
49 void set_state(State);
55 void handle_event(const xine_event_t &);
58 void operator<<(Msp::LexicalConverter &, XineStream::State);
59 void operator>>(const Msp::LexicalConverter &, XineStream::State &);