ZM 1.23.3 FastForwarding fix
Posted: Wed Aug 13, 2008 5:54 am
ZM 1.23.x fast forwarding seems crippled. To get fast forwarding to work at all, I had to have the ZM_WEB_<H or M or L>_VIDEO_MAXFPS option for the bandwidth profile I was using to be close my monitors max frame rate. Since I have I monitors with different max frame rates, this wasn't a good solution. On top of that, the fast forwarding seemed to only work by skipping frames opposed instead of speeding up the frame rate. Back in ZM 1.22.x fast forwarding seemed fine.
I looked at the code and got fast forwarding to work much like ZM 1.22.x. I haven't tested this on mpeg streaming yet.
Here is the patch:
edit:
Opps, I discovered an issue if you have a low M_WEB_<H or M or L>_VIDEO_MAXFPS setting. Rewinding rewinds way to fast. I'll look into this some more when I have some time. This might not be an issue over a low bandwidth connection.
2nd edit: I fixed the problem, I edited the patch above.
I looked at the code and got fast forwarding to work much like ZM 1.22.x. I haven't tested this on mpeg streaming yet.
Here is the patch:
Code: Select all
--- zm_event.cpp 2008-04-21 06:52:05.000000000 -0700
+++ zm_event.cpp 2008-08-12 22:26:50.000000000 -0700
@@ -1213,8 +1213,10 @@ void EventStream::runStream()
if ( ((curr_frame_id-1)%frame_mod) == 0 )
{
delta_us = (unsigned int)(frame_data->delta * 1000000);
- if ( effective_fps < base_fps )
- delta_us = (delta_us * base_fps)/effective_fps;
+ if ( replay_rate != ZM_RATE_BASE )
+ delta_us = (delta_us*ZM_RATE_BASE)/abs(replay_rate);
+ if( frame_mod > 1 )
+ delta_us *= frame_mod;
send_frame = true;
}
}
edit:
Opps, I discovered an issue if you have a low M_WEB_<H or M or L>_VIDEO_MAXFPS setting. Rewinding rewinds way to fast. I'll look into this some more when I have some time. This might not be an issue over a low bandwidth connection.
2nd edit: I fixed the problem, I edited the patch above.