gsplayer용 TTA codec 파일 재생 플러그인. ( windows CE, mobile armv4I )
(계속 미루다가 마무리 해버렸다,,)


https://sourceforge.net/projects/gstta/
에서도 다운 받을 수 있다. 

- 변경사항 -

Seek 기능 추가.
재생시 주기적으로 튐 증상 제거.
(디코딩 쓰레드 추가, 디코딩 큐와 오디오 큐의 완충용 큐 추가.)

구글링 도중에 발견하게 된 FLAC plugin 이다.
keltus라는 Developer가 2006년에 만든 것이다.
beta라고 제목을 붙인 이유가, 정식 release 라고 하기에는 재생이 살짝 원활하지 않기 때문이다.



그리고 얼마전에 제작했던 TTA plugin beta 도 같이 첨부한다. (왠지 비슷한 상태다.)
그래서 TTA plugin을 원활한 재생 상태로 만든 이후에, FLAC plugin과 같이 수정/등록 해야겠음..


*사용 방법은 gsplayer2.exe가 있는 폴더에 압축을 푼 dll을 복사하면 된다.

1. Pocket PC용 GS player2 를 winCE 5.0 armv4I 용으로 포팅

2. 내부의 maplay library 에서 참고하는 acm 관련 function들이 Standard SDK에 없음
   아래와 같은 링크 에러 출력


maplay.lib(PlayerWav.obj) : error LNK2019: unresolved external symbol acmStreamOpen referenced in function "protected: int __cdecl CPlayer::WavScanFile(void)" (?WavScanFile@CPlayer@@IAAHXZ)
maplay.lib(PlayerWav.obj) : error LNK2019: unresolved external symbol acmFormatSuggest referenced in function "protected: int __cdecl CPlayer::WavScanFile(void)" (?WavScanFile@CPlayer@@IAAHXZ)
maplay.lib(PlayerWav.obj) : error LNK2019: unresolved external symbol acmStreamClose referenced in function "protected: void __cdecl CPlayer::WavClose(void)" (?WavClose@CPlayer@@IAAXXZ)
maplay.lib(PlayerWav.obj) : error LNK2019: unresolved external symbol acmStreamUnprepareHeader referenced in function "protected: unsigned long __cdecl CPlayer::WavPlayerThread(void)" (?WavPlayerThread@CPlayer@@IAAKXZ)
maplay.lib(PlayerWav.obj) : error LNK2019: unresolved external symbol acmStreamConvert referenced in function "protected: unsigned long __cdecl CPlayer::WavPlayerThread(void)" (?WavPlayerThread@CPlayer@@IAAKXZ)
maplay.lib(PlayerWav.obj) : error LNK2019: unresolved external symbol acmStreamPrepareHeader referenced in function "protected: unsigned long __cdecl CPlayer::WavPlayerThread(void)" (?WavPlayerThread@CPlayer@@IAAKXZ)
maplay.lib(PlayerWav.obj) : error LNK2019: unresolved external symbol acmStreamSize referenced in function "protected: unsigned long __cdecl CPlayer::WavPlayerThread(void)" (?WavPlayerThread@CPlayer@@IAAKXZ)
maplay.lib(PlayerWav.obj) : error LNK2019: unresolved external symbol acmStreamReset referenced in function "protected: unsigned long __cdecl CPlayer::WavPlayerThread(void)" (?WavPlayerThread@CPlayer@@IAAKXZ)

3. 플랫폼 빌더에서 구한 msacmce.lib 를 따로 추가해 준다. (첨부파일.1)
    (커널 빌드시에 ACM 카테고리가 빠져 있으면 소스 내에서 acm관련 부분 제거.)
   

4. maplay의 PlayerWav.cpp의 L359
      //   acmStreamReset(m_hAcm, 0); 는 임시로 주석 처리.
     * public의 msacmce.def 를 보면 제공되지 않음. 
      
WINCE500\PUBLIC\DIRECTX\OAK\LIB\ARMV4I\RETAIL  
L 45.
 ;;;;            acmStreamReset

5. 빌드 완료.

!! 처음 실행 시, 오픈 경로 레지스터리 때문에 add/open시 정상적으로 explorer 창이 열리지 않음
-> Find 메뉴로 폴더를 지정해주면 임시로 해결된다. (이후 add, open 시에 해당 경로로 탐색됨)

버그) 스킨 적용 되지 않음.
미구현) 버퍼링.
           무손실 압축 코덱. (Flac, Ape)
           메뉴 한글화.


기존 PPC 용을 aygshell 추가된 WinCE에서 실행 할 때.

WinCE에 맞게 빌드된 버전.

                                        ARM 용으로 컴파일 한 WinCE용 플레이어,

                                        WinCE 5.0 용 포함된 플레이어 소스코드
                                        
                                        Standard SDK로 포팅시에 필요한 acm관련 라이브라리

+ Recent posts