C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[23612] 음성.. 메모리가 쌓여여.. ㅠㅠ
radppiri [muagoa] 923 읽음    2003-01-12 17:10
안녕하세요.. 간만에 글을 올립니다.
음성을 주고받는 프로그램을 하고 있는데, 음성을 받는쪽에서 메모리가 쌓이는거 같습니다.
어디서 메모리가 새고 있는지 보시구 알려주세요. 밑에 소스는 받는 쪽입니다.
음성 송신에서는 "음성상태(1,처음,중간,끝):음성사이즈(4):음성실제데이타" 로 구성되어있습니다.

void __fastcall Audio::AudioIdUDPServerUDPRead(TObject *Sender, TStream *AData,
          TIdSocketHandle *ABinding)
{
    LPSTR MetaBlock;        // 음성 상태 및 사이즈를 받는 부분
    char *AudioBuffer = NULL;   // 음성데이터 받는 부분
    int sizeofBuffer;

    AudioBuffer = (char *) malloc((AData->Size - 5));
    MetaBlock = (char *) malloc(5);

    AData->Position = 0;
    AData->ReadBuffer(MetaBlock, 5);

    AData->Position = 5;
    AData->ReadBuffer(AudioBuffer, (AData->Size - 5));

    ::Sleep(0);
    playSoundBlock(AudioBuffer, (AData->Size - 5), (byte)MetaBlock[0]);

    free(MetaBlock);
    free(AudioBuffer);
}

void Audio::playSoundBlock(char *srcSnd, DWORD srcLength, byte order)
{
    ErrorMode = SetErrorMode(SEM_FAILCRITICALERRORS);

    if ( waveOutFlag != MMSYSERR_NOERROR || !waveOutStatus ) return;

    static int BlockOrder;

    WAVEHDR *waveOutHdr = new WAVEHDR;
    waveOutHdr->lpData = srcSnd;
    waveOutHdr->dwBufferLength = srcLength;
    waveOutHdr->dwFlags = 0L;
    waveOutHdr->dwLoops = 0L;

    if (order == WHDR_BEGIN)
    {
        BlockOrder = 0;
        waveOutPause(hWaveOut);
    }
    else
    {
        BlockOrder++;
        if( order == WHDR_END || BlockOrder == BeginBufferIndex ) waveOutRestart(hWaveOut);
    }

    err = waveOutPrepareHeader(hWaveOut,waveOutHdr,sizeof(WAVEHDR));
    err = waveOutWrite(hWaveOut,waveOutHdr,sizeof(WAVEHDR));

    free(waveOutHdr->lpData);
    waveOutHdr = NULL;

    SetErrorMode(ErrorMode);
}

+ -

관련 글 리스트
23612 음성.. 메모리가 쌓여여.. ㅠㅠ radppiri 923 2003/01/12
31540     Re:음성.. 메모리가 쌓여여.. ㅠㅠ 김원형.아리매 735 2003/01/12
31539     Re:음성.. 메모리가 쌓여여.. ㅠㅠ 김원형.아리매 790 2003/01/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.