[Player-cvs] app/gtk superbufhscale.cpp, 1.8, 1.9 superbufhscale.h, 1.5, 1.6 hxstatuspositionslider.cpp, 1.26, 1.27
dyek at helixcommunity.org dyek at helixcommunity.orgUpdate of /cvsroot/player/app/gtk In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv6967 Modified Files: superbufhscale.cpp superbufhscale.h hxstatuspositionslider.cpp Log Message: Merge Superbuffer GUI 4-second-preroll-defect quick fix. Merging the previous Superbuffer GUI 4-second-preroll-defect Quick Fix to 310Atlas and HEAD. Reapply it to 205Cay too, as it was unfortunately, accidentally overwritten during the merge for RealPlayer 11 for Linux SS1 release, so, checking it into HEAD too. This is not really the solution, but until the Superbuffer preroll problem is fixed, this is a quick fix to elimintate Superbuffer GUI visual defect caused by the 4-second fake "preroll". Files Modified: player/app/gtk/superbufhscale.cpp player/app/gtk/superbufhscale.h player/app/gtk/hxstatuspositionslider.cpp Refer to the following URL for more information: http://lists.helixcommunity.org/pipermail/player-dev/2008-October/003944.html Index: superbufhscale.h =================================================================== RCS file: /cvsroot/player/app/gtk/superbufhscale.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- superbufhscale.h 9 Jun 2008 03:58:52 -0000 1.5 +++ superbufhscale.h 9 Oct 2008 23:45:17 -0000 1.6 @@ -161,6 +161,7 @@ PangoLayout *pango_layout_slider; gdouble buffer_min; // Buffered region in timeline unit. + gdouble buffer_max_seekable; // Temporary; to be removed when preroll problem is fixed. gdouble buffer_max; gboolean restrict_seek_in_buffered; @@ -249,8 +250,8 @@ void hx_superbuf_stop_animation(HXSuperbufHScale *superbuf_hscale); void hx_superbuf_hscale_set(HXSuperbufHScale *superbuf_hscale, gdouble value, - gdouble lower, gdouble upper, gdouble buffer_min, gdouble buffer_max, - gboolean restrict_seek_in_buffered); + gdouble lower, gdouble upper, gdouble buffer_min, gdouble buffer_max_seekable, + gdouble buffer_max, gboolean restrict_seek_in_buffered); Index: superbufhscale.cpp =================================================================== RCS file: /cvsroot/player/app/gtk/superbufhscale.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- superbufhscale.cpp 9 Oct 2008 22:20:35 -0000 1.8 +++ superbufhscale.cpp 9 Oct 2008 23:45:17 -0000 1.9 @@ -1158,7 +1158,7 @@ // XXXDYEK: Get rid of buffer_border. value = CLAMP(value, superbuf_hscale->buffer_min + buffer_border, - superbuf_hscale->buffer_max - buffer_border); + superbuf_hscale->buffer_max_seekable - buffer_border); } gtk_adjustment_set_value(superbuf_hscale->adjustment, value); @@ -2041,6 +2041,7 @@ gdouble lower, gdouble upper, gdouble buffer_min, + gdouble buffer_max_seekable, gdouble buffer_max, gboolean restrict_seek_in_buffered) { @@ -2048,12 +2049,14 @@ superbuf_hscale->adjustment->lower = lower; superbuf_hscale->adjustment->upper = upper; superbuf_hscale->buffer_min = buffer_min; + superbuf_hscale->buffer_max_seekable = buffer_max_seekable; superbuf_hscale->buffer_max = buffer_max; superbuf_hscale->restrict_seek_in_buffered = restrict_seek_in_buffered; gtk_adjustment_changed(superbuf_hscale->adjustment); // emit "changed" superbuf_hscale->adjustment->step_increment = (upper - lower)/100.0; superbuf_hscale->adjustment->page_increment = 5 * superbuf_hscale->adjustment->step_increment; + g_return_if_fail(superbuf_hscale->buffer_max_seekable <= superbuf_hscale->buffer_max); return; } Index: hxstatuspositionslider.cpp =================================================================== RCS file: /cvsroot/player/app/gtk/hxstatuspositionslider.cpp,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- hxstatuspositionslider.cpp 9 Jun 2008 03:58:52 -0000 1.26 +++ hxstatuspositionslider.cpp 9 Oct 2008 23:45:17 -0000 1.27 @@ -287,7 +287,8 @@ minPosition, // lower maxPosition, // upper minBuffered, // buffer_min - maxSeekable, // buffer_max + maxSeekable, // buffer_max_seekable + maxBuffered, // buffer_max is_live_or_infinite); // restrict_seek_in_buffered } @@ -312,6 +313,7 @@ 0.0, // lower len, // upper 0.0, // buffer_min + 0.0, // buffer_max_seekable 0.0, // buffer_max FALSE); // restrict_seek_in_buffered } @@ -575,6 +577,7 @@ 0.0, // lower 1.0, // upper 0.0, // buffer_min + 0.0, // buffer_max_seekable 0.0, // buffer_max FALSE); // restrict_seek_in_buffered return;