[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