xine_dispose(stream);
}
+string XineStream::get_title() const
+{
+ const char *title = xine_get_meta_info(stream, XINE_META_INFO_TITLE);
+ return (title ? title : string());
+}
+
void XineStream::play()
{
xine_play(stream, 0, 0);
handle_event(*event);
xine_event_free(event);
}
+
+ int dur_msec, pos_msec;
+ xine_get_pos_length(stream, 0, &pos_msec, &dur_msec);
+ Time::TimeDelta dur = dur_msec*Time::msec;
+ Time::TimeDelta pos = pos_msec*Time::msec;
+ if(dur!=duration)
+ {
+ duration = dur;
+ signal_duration_changed.emit(duration);
+ }
+ if(pos!=position)
+ {
+ position = pos;
+ signal_position_changed.emit(position);
+ }
}
void XineStream::handle_event(const xine_event_t &event)