diff -C 3 -r MPlayer-0.90rc3/configure MPlayer-0.90rc3-live-ffw/configure *** MPlayer-0.90rc3/configure Sun Jan 19 17:42:25 2003 --- MPlayer-0.90rc3-live-ffw/configure Thu Feb 6 19:45:14 2003 *************** *** 151,156 **** --- 151,157 ---- --disable-tv-v4l disable Video4Linux TV Interface support [autodetect] --disable-tv-bsdbt848 disable BSD BT848 Interface support [autodetect] --disable-edl disable EDL (edit decision list) support [enable] + --disable-live-ffw disable live fast forward and slow motion support [enable] --disable-rtc disable RTC (/dev/rtc) on Linux [autodetect] --disable-streaming disable network streaming support (support for: http/mms/rtp) [enable] *************** *** 1021,1026 **** --- 1022,1028 ---- _tv_v4l=auto _tv_bsdbt848=auto _edl=yes + _live_ffw=yes _streaming=yes _vidix=auto _joystick=no *************** *** 1178,1183 **** --- 1180,1187 ---- --disable-tv) _tv=no ;; --enable-edl) _edl=yes ;; --disable-edl) _edl=no ;; + --enable-live-ffw) _live_ffw=yes ;; + --disable-live-ffw) _live_ffw=no ;; --enable-tv-bsdbt848) _tv_bsdbt848=yes ;; --disable-tv-bsdbt848) _tv_bsdbt848=no ;; --enable-tv-v4l) _tv_v4l=yes ;; *************** *** 4334,4339 **** --- 4338,4351 ---- fi echores "$_edl" + echocheck "Live Fast Forward and Slow Motion support" + if test "$_live_ffw" = yes ; then + _def_live_ffw='#define USE_LIVE_FFW' + else + _def_live_ffw='#undef USE_LIVE_FFW' + fi + echores "$_live_ffw" + echocheck "*BSD BrookTree 848 TV interface" if test "$_tv_bsdbt848" = auto ; then _tv_bsdbt848=no *************** *** 5157,5162 **** --- 5169,5177 ---- /* Enable EDL support */ $_def_edl + + /* Enable Live Fast Forward and Slow Motion support */ + $_def_live_ffw /* Enable Video 4 Linux TV interface support */ $_def_tv_v4l diff -C 3 -r MPlayer-0.90rc3/input/input.c MPlayer-0.90rc3-live-ffw/input/input.c *** MPlayer-0.90rc3/input/input.c Sun Jan 12 19:56:48 2003 --- MPlayer-0.90rc3-live-ffw/input/input.c Thu Feb 6 18:04:28 2003 *************** *** 74,79 **** --- 74,83 ---- { MP_CMD_VOBSUB_LANG, "vobsub_lang", 0, { {-1,{0}} } }, { MP_CMD_GET_PERCENT_POS, "get_percent_pos", 0, { {-1,{0}} } }, { MP_CMD_GET_TIME_LENGTH, "get_time_length", 0, { {-1,{0}} } }, + #ifdef USE_LIVE_FFW + { MP_CMD_LIVE_FFW, "live_fast_forward", 0, { {-1,{0}} } }, + { MP_CMD_LIVE_SFW, "live_slow_forward", 0, { {-1,{0}} } }, + #endif #ifdef USE_TV { MP_CMD_TV_STEP_CHANNEL, "tv_step_channel", 1, { { MP_CMD_ARG_INT ,{0}}, {-1,{0}} }}, { MP_CMD_TV_STEP_NORM, "tv_step_norm",0, { {-1,{0}} } }, *************** *** 255,260 **** --- 259,268 ---- #ifdef USE_EDL { { 'i', 0 }, "edl_mark" }, #endif + #ifdef USE_LIVE_FFW + { { ']', 0 }, "live_fast_forward" }, + { { '[', 0 }, "live_slow_forward" }, + #endif #ifdef USE_TV { { 'h', 0 }, "tv_step_channel 1" }, { { 'k', 0 }, "tv_step_channel -1" }, diff -C 3 -r MPlayer-0.90rc3/input/input.h MPlayer-0.90rc3-live-ffw/input/input.h *** MPlayer-0.90rc3/input/input.h Sat Dec 28 23:57:38 2002 --- MPlayer-0.90rc3-live-ffw/input/input.h Thu Feb 6 18:04:05 2003 *************** *** 42,47 **** --- 42,51 ---- #endif #define MP_CMD_SUB_ALIGNMENT 39 #define MP_CMD_TV_LAST_CHANNEL 40 + #ifdef USE_LIVE_FFW + #define MP_CMD_LIVE_FFW 41 + #define MP_CMD_LIVE_SFW 42 + #endif #define MP_CMD_GUI_EVENTS 5000 #define MP_CMD_GUI_LOADFILE 5001 diff -C 3 -r MPlayer-0.90rc3/libvo/x11_common.c MPlayer-0.90rc3-live-ffw/libvo/x11_common.c *** MPlayer-0.90rc3/libvo/x11_common.c Thu Jan 9 22:23:54 2003 --- MPlayer-0.90rc3-live-ffw/libvo/x11_common.c Thu Feb 6 20:01:07 2003 *************** *** 426,431 **** --- 426,435 ---- case wsM: mplayer_put_key('m'); break; case wso: case wsO: mplayer_put_key('o'); break; + #ifdef USE_LIVE_FFW + case wsosbrackets: mplayer_put_key('['); break; + case wscsbrackets: mplayer_put_key(']'); break; + #endif default: if((key>='a' && key<='z')||(key>='A' && key<='Z')|| (key>='0' && key<='9')) mplayer_put_key(key); } diff -C 3 -r MPlayer-0.90rc3/mplayer.c MPlayer-0.90rc3-live-ffw/mplayer.c *** MPlayer-0.90rc3/mplayer.c Sun Jan 19 01:21:39 2003 --- MPlayer-0.90rc3-live-ffw/mplayer.c Thu Feb 6 20:12:11 2003 *************** *** 2280,2285 **** --- 2280,2309 ---- } break; #endif + #ifdef USE_LIVE_FFW + case MP_CMD_LIVE_FFW: + if(playback_speed < 1) { + playback_speed = 1; + rel_seek_secs = 0.1; + osd_function = OSD_PLAY; + } + else if(playback_speed < 8) { + playback_speed = playback_speed*2; + osd_function = OSD_FFW; + } + break; + case MP_CMD_LIVE_SFW: + if(playback_speed > 1) { + playback_speed = 1; + rel_seek_secs = 0.1; + osd_function = OSD_PLAY; + } + else if(playback_speed > 0.125) { + playback_speed = playback_speed / 2; + osd_function = OSD_FFW; + } + break; + #endif case MP_CMD_AUDIO_DELAY : { float v = cmd->args[0].v.f; audio_delay += v;