public static bool SetTiming(SubtitleTiming timing) { if (!IsSubtitleFilterLoaded()) { return(false); } ComThread.Do(() => { var extSubSource = SubtitleFilter.Base as IDirectVobSub; var hr = extSubSource.put_SubtitleTiming(timing.Delay, timing.SpeedMultiplier, timing.SpeedDivisor); DsError.ThrowExceptionForHR(hr); }); return(true); }
public static SubtitleTiming GetTiming() { if (!IsSubtitleFilterLoaded()) { return(null); } SubtitleTiming timing = null; ComThread.Do(() => { var extSubSource = SubtitleFilter.Base as IDirectVobSub; int delay, mul, div; var hr = extSubSource.get_SubtitleTiming(out delay, out mul, out div); DsError.ThrowExceptionForHR(hr); timing = new SubtitleTiming(delay, mul, div); }); return(timing); }
public static SubtitleTiming GetTiming() { if (!IsSubtitleFilterLoaded()) return null; SubtitleTiming timing = null; ComThread.Do(() => { var extSubSource = SubtitleFilter.Base as IDirectVobSub; int delay, mul, div; var hr = extSubSource.get_SubtitleTiming(out delay, out mul, out div); DsError.ThrowExceptionForHR(hr); timing = new SubtitleTiming(delay, mul, div); }); return timing; }
public static bool SetTiming(SubtitleTiming timing) { if (!IsSubtitleFilterLoaded()) return false; ComThread.Do(() => { var extSubSource = SubtitleFilter.Base as IDirectVobSub; var hr = extSubSource.put_SubtitleTiming(timing.Delay, timing.SpeedMultiplier, timing.SpeedDivisor); DsError.ThrowExceptionForHR(hr); }); return true; }