[datatype-dev] Re: [Nokia-private-dev] CR: EDVA-7V9JW2 The controls never go away from the screen.
Gregory Wright gwright at real.comLooks good. --greg. On Sep 10, 2009, at 1:22 PM, EXT-German1.Gomez at nokia.com wrote: > > CR: EDVA-7V9JW2 The controls never go away from the screen. > > "Nokia submits this code under the terms of a commercial > contribution agreement with Real Networks, and I am authorized to > contribute this code under said agreement." > > Modified by:EXT-German1.Gomez at nokia.com > > Reviewed by: > > Date: 09/10/2009 > > Project: SymbianMmf_wm > > ErrorId:EDVA-7V9JW2 > > Synopsis: The Media player UI refreshes the controls because Helix > Engine sends a call back for Rebuffering done very often. > > Overview: > The condition that trigger Rebuffering calls depends of lTimeDelta > isn’t bigger than the tolerance time (1000ms.). > \datatype\mdf\video\renderer\mdfvidrend.cpp line --1305 > The problem happens at 35 minutes and 46 seconds of playback > (2146000 ms). After this time the lTimeDelta became negative and > much bigger than the 1000 ms. of tolerance. > The lTimeDelta value is calculated based on m_ulActiveVideoTime > variable which holds the current reproduction time. After the dead > line time this value is not the same as the value read from the > postprocessor. > The CMdfVideoAdapter::GetVideoPosition() method get the playback > time from the postprocessor and store it on a TInt64 variable > (because the postprocessor time is on microseconds 10e-6 s). > \datatype\mdf\video\renderer\mdfvideoadapter.cpp line --2226 > > The problem is that we cast microseconds read from the postprocessor > before divide by 1000 this cut out the reproduction time to > 2147483647 microseconds (about 35 minutes and 46 seconds) which is > the biggest value that a TInt can hold. > > Solution: > The solution is to correct the casting by applying it to the whole > expression, this assure a playback of 2147483647 milliseconds (about > 596 hours) without problems. > > > Modified files: > > \datatype\mdf\video\renderer\mdfvideoadapter.cpp > > > > New files: None > > > > Image size and heap use impact: Negligible > > > > Module Release testing (STIF): Passed > > > > Test case(s) added: None > > > > Memory leak check performed: Yes, no new leaks introduced. > > > > Platforms and Profiles Build verified: helix-client-s60-32-mmf-mdf- > arm, helix-client-s60-50-mmf-mdf-arm > > > > Platforms and Profiles Functionality verified: armv5, winscw > > > > Branch: 221Cays, 223Cays, 210Cays, HEAD > > > > > > > > > ? CR_EDVA-7V9JW2.diff > ? Makefile > ? Umakefil.upp > ? armv5-dbg32 > ? mdfvidrender_dll_stub.c > ? mdfvidrender_ordinal.dat > ? mdfvidrender{000a0000}.def > ? patch.diff > ? umakedll.mak > ? umakedll.upp > Index: mdfvideoadapter.cpp > =================================================================== > RCS file: /cvsroot/datatype/mdf/video/renderer/mdfvideoadapter.cpp,v > retrieving revision 1.3.2.96.4.3 > diff -u -w -r1.3.2.96.4.3 mdfvideoadapter.cpp > --- mdfvideoadapter.cpp 31 Jul 2009 21:39:05 -0000 1.3.2.96.4.3 > +++ mdfvideoadapter.cpp 9 Sep 2009 18:03:46 -0000 > @@ -2226,7 +2226,7 @@ > frametime = m_pDevVideoClient->PlaybackPosition(); > > #ifdef HELIX_CONFIG_SYMBIAN_PLATFORM_SECURITY > - ulCurrTime = ((TInt) frametime.Int64()/1000); > + ulCurrTime = ((TInt) (frametime.Int64()/1000)); > #else > ulCurrTime = (frametime.Int64()/1000).Low(); > #endif > > <CR_EDVA-7V9JW2.diff>_______________________________________________ > Nokia-private-dev mailing list > Nokia-private-dev at helixcommunity.org > http://lists.helixcommunity.org/mailman/listinfo/nokia-private-dev