"Nokia submits this code under the terms of a
commercial contribution agreement
with
RealNetworks, and I am authorized to contribute this code under said
agreement."
Modified by:
carol.i.chen
nokia.com
Reviewed by:
Date:
Jan 29, 2007
Error ID:
EAVZ-6XS2TK
Project:
SymbianMmf_Rel
Synopsis:
A valid clip without file extension on Server 11
cannot be streamed,
and returns "System
Error".
Although the same clip can be played locally, the
server doesn't support
on demand clips
without file extension. This is because there are no mime
type recognition routines in the server to try to determine
which file format
plug-in to load so it
loads file format plug-ins strictly by file extension.
Previously on Server 10, it will return "404 Not
Found". However this is
not correct because
the file *is* on the server, so current server 11 returns
HXR_SE_DATATYPE_UNLICENSED. Currently there's no mapping for
this in MMF controller,
so that's added and
"Invalid Clip" will be returned instead of "System Error".
Root Cause of the problem: error handling on server
side has changed
Files Modified:
clientapps/symbianMmf/common/hxmmfbasectrl.cpp
Image Size and Heap Use impact:
no impact
Module Release testing (STIF):
Ran and passed (AMR cases skipped due to
SDK issue)
Test case(s) Added:
Yes, 1 case added to HelixSpecial.cfg.
Memory leak check performed:
Yes, no new leaks introduced.
Platforms and Profiles Build Verified:
armv5 /
helix-client-s60-32-mmf-mdf-arm
winscw / helix-client-s60-32-mmf-mdf-arm
Platforms and Profiles Functionality verified:
armv5 /
helix-client-s60-32-mmf-mdf-arm
Branch:
HEAD and hxclient_2_1_0_cayennes
Index: hxmmfbasectrl.cpp
===================================================================
RCS file:
/cvsroot/clientapps/symbianMmf/common/hxmmfbasectrl.cpp,v
retrieving revision 1.1.2.10
diff -u -w -r1.1.2.10 hxmmfbasectrl.cpp
--- hxmmfbasectrl.cpp 26 Jan 2007 21:21:34
-0000 1.1.2.10
+++ hxmmfbasectrl.cpp 30 Jan 2007 01:52:57 -0000

-142,7 +142,8 
{
HXR_ACCESSPOINT_NOT_FOUND,
KErrAbort
},
{
HXR_PE_INTERNAL_SERVER_ERROR,
KErrDisconnected },
{
HXR_NOT_AUTHORIZED,
KErrPermissionDenied },
- {
HXR_BAD_TRANSPORT,
KErrNotSupported }
+ {
HXR_BAD_TRANSPORT,
KErrNotSupported },
+ {
HXR_SE_DATATYPE_UNLICENSED,
KErrNotSupported }
};
static const int NumMmfStatus =
sizeof(MmfStatusMap)/sizeof(HXMMFStatus);