+
+ 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);
+ }