diff -r beaa16f65879 -r 2a40e88564c8 mpxmusicplayer/metadatahandler/src/mpxmetadatahandlerimp.cpp --- a/mpxmusicplayer/metadatahandler/src/mpxmetadatahandlerimp.cpp Tue Jan 26 11:56:33 2010 +0200 +++ b/mpxmusicplayer/metadatahandler/src/mpxmetadatahandlerimp.cpp Tue Feb 02 00:09:33 2010 +0200 @@ -576,7 +576,7 @@ TMediaAttributeIter& aAttributeIter ) { MPX_FUNC( "CMPXMetaDataHandlerImp::MrcmitoGetCurrentlyPlayingMetadata" ); - const TInt KMaxMediaAttrLen = 50; // Replace with suitable value + const TInt KMaxMediaAttrLen = 300; // >110 is required for AVRCP fragmentation TBuf8 attrBuf; TMediaAttributeId attrId; aAttributeIter.Start(); @@ -650,9 +650,15 @@ } if( detail ) { - if( CnvUtfConverter::ConvertFromUnicodeToUtf8( attrBuf, *detail ) ) + const TInt returnValue = CnvUtfConverter::ConvertFromUnicodeToUtf8( attrBuf, *detail ); + if ( returnValue == CnvUtfConverter::EErrorIllFormedInput) { - attrBuf.Zero(); // Check if this generates the right response + MPX_DEBUG1( "CMPXMetaDataHandlerImp::MrcmitoGetCurrentlyPlayingMetadata - Illformed string, sending zero length response" ); + attrBuf.Zero(); + } + else if ( returnValue > 0 ) + { + MPX_DEBUG1( "CMPXMetaDataHandlerImp::MrcmitoGetCurrentlyPlayingMetadata - Could not convert whole string, sending converted fragment" ); } } if( val )