Modified by: milko real.com
Date: 10:19:06
Project: Atlas
Synopsis: Base and RV Video rendering fixes
Overview:
The included change prevents starvation of the decoder on
low powered
systems operating in threaded mode typically occuring when
PlayNow is
used. PlayNow starts playback with minimal buffer levels
counting on the
system's ability to build the proper levels moments after
starting. While
typically network bandwidth is the constraint, on low
powered sytems, the
CPU can be the constraint. In threaded mode, the decoder
runs on a
separate thread which on some system does not result in
sufficient
processing granularity (due to round robin or even
deprioritized
treatment). Thus, explicit call to the decode is now issued
from data
delivery threads whenever the post decode buffer is detected
to be empty.
In RealVideo, all video frames were treated as
non-skippable. This
resulted in all frames being displayed (or at least process
as if
displayed). This limited the ability of RealVideo rendering
to scale in
cases of high CPU demand resulting eventually in more severe
artifacts than
occasional frame dropping.
Files Modified:
/datatype/common/vidrend/vidrend.cpp
/datatype/common/vidrend/vidrendf.cpp
/datatype/common/vidrend/pub/vidrendf.h
/datatype/rm/video/renderer/rvxvdfmt.cpp
/datatype/rm/video/renderer/pub/rvxvdfmt.h
Image Size and Heap Use impact (Client -Only):
insignificant
Platforms and Profiles Affected:
all
Distribution Libraries Affected:
none
Distribution library impact and planned action:
n/a
Platforms and Profiles Build Verified:
win32-i386-vc7, helix-client-all-defines
Platforms and Profiles Functionality verified:
win32
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|