From asingh at adroit-inc.com Tue Aug 14 08:59:42 2007
From: asingh at adroit-inc.com (anshuman)
Date: Tue Aug 14 08:56:50 2007
Subject: [Filesystem-dev] CR:Chages in filesystem/local for porting Atlas
for Windows Mobile 5.0
Message-ID: <03a101c7de8c$218c0280$0b01a8c0@rajesh>
Skipped content of type multipart/alternative-------------- next part --------------
Index: mini/minifileobj.cpp
===================================================================
RCS file: /cvsroot/filesystem/local/mini/minifileobj.cpp,v
retrieving revision 1.28
diff -u -r1.28 minifileobj.cpp
--- mini/minifileobj.cpp 22 May 2007 14:54:57 -0000 1.28
+++ mini/minifileobj.cpp 14 Aug 2007 14:25:57 -0000
@@ -69,8 +69,8 @@
#include "hxerror.h" /* IHXErrorMessages */
#if defined (_WINDOWS ) && defined (_WIN32)
-#include
#ifndef _WINCE
+#include
#include /* mkdir, etc. */
#endif
#elif defined (_MACINTOSH)
@@ -1182,9 +1182,8 @@
#if defined (_WINDOWS ) || defined (_WIN32)
- USES_CONVERSION;
- if( ::CreateDirectory(A2T(m_pFilename), NULL) == 0 )
+ if( ::CreateDirectory(OS_STRING(m_pFilename), NULL) == 0 )
return HXR_FAIL;
#elif defined UNIX
@@ -1207,14 +1206,12 @@
char pDirname[1024];
#if defined (_WINDOWS ) && defined (_WIN32)
- USES_CONVERSION;
-
if (!m_hFileHandle)
{
strcpy(pDirname, m_pFilename);
strcat(pDirname, "\\*");
- m_hFileHandle = ::FindFirstFile( A2T(pDirname), &m_FileInfo );
+ m_hFileHandle = ::FindFirstFile( OS_STRING(pDirname), &m_FileInfo );
if ( INVALID_HANDLE_VALUE == m_hFileHandle )
{
@@ -1233,7 +1230,7 @@
}
}
- strcpy( pDirname, T2A(m_FileInfo.cFileName) );
+ strcpy( pDirname, OS_STRING(m_FileInfo.cFileName) );
#else
return HXR_FAIL;
#endif
From ping at real.com Tue Aug 14 10:11:35 2007
From: ping at real.com (Henry Ping)
Date: Tue Aug 14 10:08:36 2007
Subject: [Filesystem-dev] CR:Chages in filesystem/local for porting
Atlasfor Windows Mobile 5.0
In-Reply-To: <03a101c7de8c$218c0280$0b01a8c0@rajesh>
Message-ID:
Looks good.
Henry
_____
From: filesystem-dev-bounces@helixcommunity.org
[mailto:filesystem-dev-bounces@helixcommunity.org] On Behalf Of anshuman
Sent: Tuesday, August 14, 2007 9:00 AM Ping
To: filesystem-dev
Subject: [Filesystem-dev] CR:Chages in filesystem/local for porting Atlasfor
Windows Mobile 5.0
Synopsis:
Multiple changes for porting Atlas for Windows Mobile 5.0
Overview:
- Replaced macro A2T and T2A with OS_STRING for proper unicode <-> ASCII =
mappings.
- We dont want to include atlbase linkages for WINCE
- USES_CONVERSION is not required as we are using OS_STRING ()
Files Added:
none
Files Modified:
filesystem/local/mini/minifileobj.cpp
Image Size and Heap Use impact (Client -Only):
None.
Platforms and Profiles Affected:
platform : wince-500-ppc-arm
profile : helix-client-wince-wm50 (new profile)
Distribution Libraries Affected:
None
Distribution library impact and planned action:
None
Platforms and Profiles Build Verified:
BIF branch -> helix_restricted
Target(s) -> wince_wm50_play(new target)
Profile -> helix-client-wince-wm50(new profile)
System ID -> wince-500-ppc-arm
Branch:
HEAD
Files Attached:
filesystem_local.diff.txt
Thanks & Regards
Anshuman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.helixcommunity.org/pipermail/filesystem-dev/attachments/20070814/4ca5ad97/attachment.html
From ehyche at real.com Thu Aug 16 08:32:04 2007
From: ehyche at real.com (Eric Hyche)
Date: Thu Aug 16 08:28:35 2007
Subject: [Filesystem-dev] CR:Chages in filesystem/local for porting
Atlasfor Windows Mobile 5.0
In-Reply-To: <03a101c7de8c$218c0280$0b01a8c0@rajesh>
References: <03a101c7de8c$218c0280$0b01a8c0@rajesh>
Message-ID: <006a01c7e01a$99706540$e58e17ac@EHYCHED620>
Why do we need this?
+#include
Seems like you are removing all the macros that
require it (A2T, etc.).
Other than that, looks good.
Eric
=============================================
Eric Hyche (ehyche@real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: filesystem-dev-bounces@helixcommunity.org
> [mailto:filesystem-dev-bounces@helixcommunity.org] On Behalf
> Of anshuman
> Sent: Tuesday, August 14, 2007 12:00 PM
> To: filesystem-dev
> Subject: [Filesystem-dev] CR:Chages in filesystem/local for
> porting Atlasfor Windows Mobile 5.0
>
> Synopsis:
> Multiple changes for porting Atlas for Windows Mobile 5.0
>
> Overview:
>
> - Replaced macro A2T and T2A with OS_STRING for proper
> unicode <-> ASCII =
> mappings.
> - We dont want to include atlbase linkages for WINCE
> - USES_CONVERSION is not required as we are using OS_STRING ()
>
> Files Added:
> none
>
> Files Modified:
> filesystem/local/mini/minifileobj.cpp
>
> Image Size and Heap Use impact (Client -Only):
> None.
>
> Platforms and Profiles Affected:
> platform : wince-500-ppc-arm
> profile : helix-client-wince-wm50 (new profile)
>
> Distribution Libraries Affected:
> None
>
> Distribution library impact and planned action:
> None
>
> Platforms and Profiles Build Verified:
>
> BIF branch -> helix_restricted
> Target(s) -> wince_wm50_play(new target)
> Profile -> helix-client-wince-wm50(new profile)
> System ID -> wince-500-ppc-arm
>
> Branch:
> HEAD
>
> Files Attached:
> filesystem_local.diff.txt
>
>
> Thanks & Regards
> Anshuman
>
From ldhawan at real.com Mon Aug 20 06:58:57 2007
From: ldhawan at real.com (Lovish Dhawan)
Date: Mon Aug 20 06:47:39 2007
Subject: [Filesystem-dev] CR: Fixed the build buster in filesystem/local for
Atlas for mini builds
Message-ID: <02b701c7e332$42c70e40$7d01a8c0@user>
Skipped content of type multipart/alternative-------------- next part --------------
Index: mini/minifileobj.cpp
===================================================================
RCS file: /cvsroot/filesystem/local/mini/minifileobj.cpp,v
retrieving revision 1.31
diff -u -r1.31 minifileobj.cpp
--- mini/minifileobj.cpp 19 Jul 2007 00:37:01 -0000 1.31
+++ mini/minifileobj.cpp 20 Aug 2007 13:49:51 -0000
@@ -643,11 +643,12 @@
IHXBuffer* pBuffer)
{
HX_RESULT result = HXR_OK;
+#if defined(HELIX_FEATURE_MMF_DATASOURCE)
if(m_bAsyncReadSupported)
{
m_pPendingReadBufAsync = pBuffer;
}
-
+#endif
UINT32 actualCount = DoRead(pBuffer);
if(IsReadError())
@@ -656,8 +657,10 @@
ReadDoneError(HXR_READ_ERROR);
return HXR_READ_ERROR;
}
+#if defined(HELIX_FEATURE_MMF_DATASOURCE)
if(!m_bAsyncReadSupported)
{
+#endif
result = pBuffer->SetSize(actualCount);
if(result == HXR_OK)
{
@@ -665,8 +668,9 @@
HX_RESULT readResult = actualCount > 0 ? HXR_OK : HXR_FAILED;
result = DoReadDone(readResult, pBuffer);
}
+#if defined(HELIX_FEATURE_MMF_DATASOURCE)
}
-
+#endif
return result;
}
@@ -1159,7 +1163,9 @@
{ GET_IIDHANDLE(IID_IHXFileExists), (IHXFileExists*) this },
{ GET_IIDHANDLE(IID_IHXFileStat), (IHXFileStat*) this },
{ GET_IIDHANDLE(IID_IHXGetFileFromSamePool), (IHXGetFileFromSamePool*) this },
+#if defined(HELIX_FEATURE_MMF_DATASOURCE)
{ GET_IIDHANDLE(IID_IHXMMFDataSourceObserver), (IHXMMFDataSourceObserver*) this },
+#endif
};
return ::QIFind(qiList, QILISTSIZE(qiList), interfaceID, ppInterfaceObj);
}
Index: mini/minifilesys.cpp
===================================================================
RCS file: /cvsroot/filesystem/local/mini/minifilesys.cpp,v
retrieving revision 1.10
diff -u -r1.10 minifilesys.cpp
--- mini/minifilesys.cpp 6 Jul 2007 20:48:14 -0000 1.10
+++ mini/minifilesys.cpp 20 Aug 2007 13:49:52 -0000
@@ -70,6 +70,7 @@
#include "../smplfsys.ver" /* version info */
#include "debug.h"
+#include "hxerror.h"
#define D_MINI_FS 0x1000000
From gwright at real.com Mon Aug 20 10:41:51 2007
From: gwright at real.com (Greg Wright)
Date: Mon Aug 20 10:37:22 2007
Subject: [Filesystem-dev] CR: Fixed the build buster in filesystem/local
for Atlas for mini builds
In-Reply-To: <02b701c7e332$42c70e40$7d01a8c0@user>
References: <02b701c7e332$42c70e40$7d01a8c0@user>
Message-ID: <46C9D25F.90203@real.com>
Looks good.
--greg.
Lovish Dhawan wrote:
> Synopsis:
>
> Fixed the build buster for mini builds
>
> Overview:
> Changes related to HELIX_FEATURE_MMF_DATASOURCE should go inside
> proper define HELIX_FEATURE_MMF_DATASOURCE
>
> Files Added:
> None
>
> Files Modified:
> filesystem/local/mini/minifileobj.cpp
> filesystem/local/mini/minifilesys.cpp
>
> Image Size and Heap Use impact (Client -Only):
> None.
>
> Platforms and Profiles Affected:
> None
>
> Distribution Libraries Affected:
> None
>
> Distribution library impact and planned action:
> None
>
> Platforms and Profiles Build Verified:
>
> BIF branch -> helix_restricted
> Target(s) -> splay
> Profile -> helix-client-all-defines
> System ID -> win32-i386-vc7
>
> Branch:
> HEAD, hxclient_3_1_0_atlas
>
> Files Attached:
> filesystem_local.diff.txt
>
> Thanks & Regards
> Lovish
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Filesystem-dev mailing list
> Filesystem-dev@helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinfo/filesystem-dev
From ldhawan at real.com Mon Aug 20 22:18:51 2007
From: ldhawan at real.com (Lovish Dhawan)
Date: Mon Aug 20 22:07:16 2007
Subject: [Filesystem-dev] CN: Fixed the build buster in filesystem/local for
Atlas for mini builds
References: <02b701c7e332$42c70e40$7d01a8c0@user> <46C9D25F.90203@real.com>
Message-ID: <011801c7e3b2$c6d3ed90$7d01a8c0@user>
Thanks Greg,
Changes are checked into HEAD and hxclient_3_1_0_atlas
Thanks & Regards,
Lovish
From asingh at adroit-inc.com Mon Aug 20 22:59:38 2007
From: asingh at adroit-inc.com (anshuman)
Date: Mon Aug 20 22:55:06 2007
Subject: [Filesystem-dev] CN:Chages in filesystem/local for porting Atlasfor
Windows Mobile 5.0
References: <03a101c7de8c$218c0280$0b01a8c0@rajesh>
<006a01c7e01a$99706540$e58e17ac@EHYCHED620>
Message-ID: <00bd01c7e3b8$76a968d0$0b01a8c0@rajesh>
Thanks Eric,
Removed atlbase linkages , now using OS_STRING .
Changes are checked into HEAD and hxclient_310_atlas.
Thanks & Regards
Anshuman
----- Original Message -----
From: "Eric Hyche"
To: "'anshuman'" ; "'filesystem-dev'"
Sent: Thursday, August 16, 2007 9:02 PM
Subject: RE: [Filesystem-dev] CR:Chages in filesystem/local for porting
Atlasfor Windows Mobile 5.0
>
>
> Why do we need this?
>
> +#include
>
> Seems like you are removing all the macros that
> require it (A2T, etc.).
>
> Other than that, looks good.
>
> Eric
>
> =============================================
> Eric Hyche (ehyche@real.com)
> Technical Lead
> RealNetworks, Inc.
>
>> -----Original Message-----
>> From: filesystem-dev-bounces@helixcommunity.org
>> [mailto:filesystem-dev-bounces@helixcommunity.org] On Behalf
>> Of anshuman
>> Sent: Tuesday, August 14, 2007 12:00 PM
>> To: filesystem-dev
>> Subject: [Filesystem-dev] CR:Chages in filesystem/local for
>> porting Atlasfor Windows Mobile 5.0
>>
>> Synopsis:
>> Multiple changes for porting Atlas for Windows Mobile 5.0
>>
>> Overview:
>>
>> - Replaced macro A2T and T2A with OS_STRING for proper
>> unicode <-> ASCII =
>> mappings.
>> - We dont want to include atlbase linkages for WINCE
>> - USES_CONVERSION is not required as we are using OS_STRING ()
>>
>> Files Added:
>> none
>>
>> Files Modified:
>> filesystem/local/mini/minifileobj.cpp
>>
>> Image Size and Heap Use impact (Client -Only):
>> None.
>>
>> Platforms and Profiles Affected:
>> platform : wince-500-ppc-arm
>> profile : helix-client-wince-wm50 (new profile)
>>
>> Distribution Libraries Affected:
>> None
>>
>> Distribution library impact and planned action:
>> None
>>
>> Platforms and Profiles Build Verified:
>>
>> BIF branch -> helix_restricted
>> Target(s) -> wince_wm50_play(new target)
>> Profile -> helix-client-wince-wm50(new profile)
>> System ID -> wince-500-ppc-arm
>>
>> Branch:
>> HEAD
>>
>> Files Attached:
>> filesystem_local.diff.txt
>>
>>
>> Thanks & Regards
>> Anshuman
>>
>
>
From asingh at adroit-inc.com Mon Aug 20 23:01:12 2007
From: asingh at adroit-inc.com (anshuman)
Date: Mon Aug 20 22:56:42 2007
Subject: [Filesystem-dev] CN:Chages in filesystem/local for porting Atlasfor
Windows Mobile 5.0
References: <03a101c7de8c$218c0280$0b01a8c0@rajesh>
<006a01c7e01a$99706540$e58e17ac@EHYCHED620>
Message-ID: <00c901c7e3b8$aee79a50$0b01a8c0@rajesh>
Thanks Eric,
Removed atlbase linkages , now using OS_STRING .
Changes are checked into HEAD and hxclient_310_atlas.
Thanks & Regards
Anshuman
From Praveen.Thimmashetty at nokia.com Fri Aug 31 16:02:25 2007
From: Praveen.Thimmashetty at nokia.com (Praveen.Thimmashetty@nokia.com)
Date: Tue Sep 4 09:30:22 2007
Subject: [Filesystem-dev] CR: Fix to distinguish user forced stop and normal
playback complete(clip played till the end) for Enhanced
media client case in helix audio controller
In-Reply-To: <60A427E0B02CC34B98D22BDCAA25361204A297AC@daebe101.NOE.Nokia.com>
References: <2A15C07EF7DF6243A092FB438FD4B36654021E@daebe103.NOE.Nokia.com>
<60A427E0B02CC34B98D22BDCAA25361204A297AC@daebe101.NOE.Nokia.com>
Message-ID: <2A15C07EF7DF6243A092FB438FD4B36654024B@daebe103.NOE.Nokia.com>
Skipped content of type multipart/alternative-------------- next part --------------
Index: audiocontroller/hxmmfaudioctrl.cpp
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/audiocontroller/hxmmfaudioctrl.cpp,v
retrieving revision 1.1.2.15
diff -w -u -b -r1.1.2.15 hxmmfaudioctrl.cpp
@@ -266,6 +266,7 @@
if(m_pStateCtrl != NULL)
{
+ m_bStopCalled = ETrue;
m_nextEvent = ErrorEvent;
// Pause is called because we can not do SetPosition after Helix engine Stops.
m_pStateCtrl->Pause();
@@ -1003,7 +1004,23 @@
if ( found )
{
+ //Return KErrEof explicitly if the clip played till Eof for EMC.
+ if(!m_bStopCalled && mmfEvent.iEventType == KStreamControlEventStateChangedStopped)
+ {
+ mmfEvent.iErrorCode = KErrEof;
+ }
+ //user stop case for EMC
+ else if( m_bStopCalled && mmfEvent.iEventType == KStreamControlEventStateChangedStopped)
+ {
+ m_bStopCalled = EFalse;
MapToMMFStatus(status, mmfEvent.iErrorCode);
+ }
+ // all events other than stopped case for EMC.
+ else
+ {
+ MapToMMFStatus(status, mmfEvent.iErrorCode);
+ }
+
if(status == HXR_AUDIODEVICETAKEN)
{
Index: common/hxmmfbasectrl.cpp
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/common/hxmmfbasectrl.cpp,v
retrieving revision 1.1.2.29
diff -w -u -b -r1.1.2.29 hxmmfbasectrl.cpp
@@ -231,8 +231,9 @@
, m_bEngineCreated(FALSE)
, m_bUpdatePrioritySettings(FALSE)
, m_pCustomInterfaceBuilder(NULL)
- , m_bEMC(EFalse)
+ , m_bEMC(FALSE)
, m_pMMFContext(NULL)
+ ,m_bStopCalled(FALSE)
{
}
@@ -1227,7 +1228,16 @@
{
Event event;
TMMFEvent mmfEvent;
+ //determine if stop was called. if yes return stopped event else paused event.
+ //this case is only for EMC
+ if(m_bStopCalled)
+ {
+ mmfEvent.iEventType = KStreamControlEventStateChangedStopped;
+ }
+ else
+ {
mmfEvent.iEventType = KStreamControlEventStateChangedPaused;
+ }
event = PlaybackPaused;
MapToMMFStatus(m_ulLastError, mmfEvent.iErrorCode);
DoSendEventToClient(mmfEvent);
Index: common/hxmmfbasectrl.h
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/common/hxmmfbasectrl.h,v
retrieving revision 1.1.2.10
diff -w -u -b -r1.1.2.10 hxmmfbasectrl.h
@@ -235,6 +235,7 @@
CCustomInterfaceBuilder* m_pCustomInterfaceBuilder;
HXBOOL m_bEMC;
HXMMFContext* m_pMMFContext;
+ HXBOOL m_bStopCalled;
};
Index: platform/symbian/HxMMDataSource.cpp
===================================================================
RCS file: /cvsroot/common/fileio/platform/symbian/HxMMDataSource.cpp,v
retrieving revision 1.1.2.2
diff -w -u -b -r1.1.2.2 HxMMDataSource.cpp
@@ -149,10 +149,35 @@
m_pDSConfig->SetCacheSize(m_ulCacheSize);
m_pDSConfig->SetCacheType(CDataSourceConfigIntfc::EBUFFER);
m_pRequest = pRequest;
- m_pImpl->Open();
- m_pImpl->Prime();
- m_pImpl->Seek(0);
- m_pImpl->Play();
+ if(m_pImpl->Open() == KErrNone)
+ {
+ if(m_pImpl->Prime()== KErrNone)
+ {
+ if(m_pImpl->Seek(0) == KErrNone)
+ {
+ if(m_pImpl->Play()== KErrNone)
+ {
+ return hxr;
+ }
+ else
+ {
+ return HXR_INVALID_PARAMETER;
+ }
+ }
+ else
+ {
+ return HXR_INVALID_PARAMETER;
+ }
+ }
+ else
+ {
+ return HXR_INVALID_PARAMETER;
+ }
+ }
+ else
+ {
+ return HXR_INVALID_PARAMETER;
+ }
}
else
{
@@ -213,14 +238,17 @@
}
m_pBuffer = CMMFDataBuffer::NewL(requestSize);
- CleanupStack::PushL(m_pBuffer);
m_pBuffer->Data().FillZ(requestSize);
m_pBuffer->SetRequestSizeL(requestSize);
m_pBuffer->Data().SetLength(0);
TInt Status = m_pImpl->Seek(m_ulPosition);
HXLOGL4(HXLOG_FILE, "CHxMMDataSource::ReadL requestSize = %d m_ulPosition = %d Status = %d ",requestSize,m_ulPosition,Status);
- m_pImpl->FillBuffer(m_pBuffer);
- CleanupStack::Pop();
+ if(Status != KErrNone)
+ {
+ //Leave if Seek call fails
+ User::Leave(Status);
+ }
+ User::LeaveIfError(m_pImpl->FillBuffer(m_pBuffer));
}
void CHxMMDataSource::BufferFilled(CMMFBuffer* aBuffer)
{
Copyright © 1995-2007 RealNetworks, Inc. All rights reserved.
RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.