int WriteWavHeader(char* buff, WAVEFORMAT* p)
{
    unsigned long* pU =(unsigned long*)buff;
    memset((unsigned char*)pU, 0, 44);  
    *pU++ = 1179011410; //RIFF
    *pU++ = 0xffffffff;//File Length
    *pU++ = 1163280727;//WAVE
    *pU++ = 544501094;  //fmt
    *pU++ = sizeof(WAVEFORMAT);//Size of fmt
    memcpy((unsigned char*)pU,p,sizeof(WAVEFORMAT));
    pU+=4;//Increamenting Wave format size 16 byte
    *pU++ = 1635017060;//data
    *pU++ = 0xffffffcf;// data chunk size
    return 44;
}

Could you add some #defines for those magic numbers and add
a comment about where you find them (docs) and what they mean.


    m_pWriteList = new CHXSimpleList();

m_pWriteList is never deleted.



    IHXScheduler*    m_pScheduler;

Your class inherits from CHXAudioDevice. CHXAudioDevice already
has a member var called m_pScheduler. Please rename this or
remove and verify no leaks occur.


HX_RESULT CAudioOutBrew::_Imp_CheckFormat( const HXAudioFormat* pFormat )
{
    return HXR_OK;
}

Does Brew audio device actually support *EVERY* format? Returning
HXR_OK from this function will make the core use the native format
of the clip regardless of what it is. This function is what is used
to negotiate the format of the PCM data that is sent to the audio
device.


   INT32 Exhausted();

Is that actually used anywhere? Do we need it?



uint32 _HXBrewPCMRenderer::GetCurrentTime()
{
    return GetTickCount() - m_uistart;
}

Is there no way to compute the current time via bytes played
or some other mechanism that comes from the audio data itself
and not the system clock? The problem is that for LONG duration
clips, the audio and video *will* get out of sync using the
system time. If this is only supporting audio playback, then
it isn't a big deal but you should keep it in mind.

rest looks good.
--greg.



Gurpreet wrote:
Synopsis:
Multiple changes in audio/device for supporting brew audio device code for
BREW SDK 3.1.5

Overview:
Adding support & code for Brew Audio Device

Files Added:
audio\device\pub\platform\brew\cbrewpcm.h
audio\device\pub\platform\brew\audBrew.h
audio\device\platform\brew\cbrewpcm.cpp
audio\device\platform\brew\audBrew.cpp

Files Modified:
audio/device/hxaudev.cpp

Image Size and Heap Use impact (Client -Only):
None.

Platforms and Profiles Affected:
platform : brew-3.1.5-vc7-emulator (new SystemID)
profile    : helix-client-brewext-wins (new profile)

Distribution Libraries Affected:
None

Distribution library impact and planned action:
None

Platforms and Profiles Build Verified:

BIF branch  -> hxclient_3_1_0_atlas_restricted
Target(s)   -> client_brewext (new target)
Profile     -> helix-client-brewext-wins (new profile)
System ID   -> brew-3.1.5-vc7-emulator (new SystemID)

Branch:
hxclient_3_1_0_atlas

Files Attached:
audio_device.txt

Thanks & Best Regards
Gurpreet


------------------------------------------------------------------------

_______________________________________________
Audio-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/audio-dev


_______________________________________________
Audio-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/audio-dev

Reply via email to