[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] mdf/video/renderer mdfvideoadapter.cpp, 1.3.2.99,
From:       geur1530 () helixcommunity ! org
Date:       2009-09-24 22:21:27
Message-ID: 200909242330.n8ONUuxu032605 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/mdf/video/renderer
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv30298/video/renderer

Modified Files:
      Tag: hxclient_2_1_0_cayennes
	mdfvideoadapter.cpp 
Log Message:
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@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 one 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


Index: mdfvideoadapter.cpp
===================================================================
RCS file: /cvsroot/datatype/mdf/video/renderer/mdfvideoadapter.cpp,v
retrieving revision 1.3.2.99
retrieving revision 1.3.2.100
diff -u -d -r1.3.2.99 -r1.3.2.100
--- mdfvideoadapter.cpp	31 Jul 2009 21:59:55 -0000	1.3.2.99
+++ mdfvideoadapter.cpp	24 Sep 2009 22:21:24 -0000	1.3.2.100
@@ -2190,7 +2190,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


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic