개발 중에 이 부분은 도저히 막혀서 해답이 나오질 않아 이렇게 글을 올려봅니다.

 

기존의 개발 타겟 버전이 2.1 ~ 2.2 인 Application인데, 2.3 이상으로 올라 갔을 때, Seekto 기능이 정상적으로 동작하지 못하고

Mediaplayer에서 IO Error가 발생하는 현상 때문에 글을 올려 봅니다.

 

일단 App이 구동되고 동영상을 재생 할 때, App 내에서 Local server가 동작을 하여 다운로드 받아둔

영상파일을 Streaming 형태로 나눠  mediaplayer에 전달을 하게 됩니다.

 

쉽게 예길하자면 Mediaplayer로 외부 Streaming 영상물을 재생시킨다고 보시면 되겠습니다.

 

차이점이 있다면 그 Server가 App 내의 local server라는 차이점이 있고, 재생시키는 영상물 자체에

전용 DRM이 적용이 되어져 있어 Local server에서 Mediaplayer에 streaming data를 넘겨 주기 전 일정량의 블록단위로

DRM을 풀어 준 정보만을 재생하게 되어 있습니다.

 

2.1~2.2까지는 이러한 구조에서 재생 및 Seekbar 동작에서도 정상적으로 잘 되었었습니다.

헌데, OS 버전이 변경된 2.3 부터는 동일한 액션에 대해 Mediaplayer에서 IO error가 발생하여

재생 중 error로 정상동작을 할 수 없다 하더군요..

 

그래서 나름대로 검색을 해보니 SK Tstore 개발자 센터에서 2.3 버전 업데이트에 따른 변경 사항 중 비슷한 사항이 발견되어 찾아봤습니다

 

http://dev.tstore.co.kr/devpoc/knowledge/viewKnowledge.omp  링크가 해당 글이 있는 곳인데,

 

5) 멀티미디어 프레임웍 관련
가) 멀티미디어 프레임웍이 Opencore가 완전히 제거되고 Stagefright로 대체됨.
     일반 App에는 영향이 없으나 DRM 등 멀티미디어 프레임웍의 플러그인 형태의
     App은 수정 개발해야 함

위와 같이 DRM이나 플러그인 형태일 경우 수정해야 한다고만 되어 있지 정확히 무엇 때문에 문제가 될 것이다 라는 정보가 없더군요...

몇일 조사를 하면서 알게 된 사실은 stagefright 방식에 대한 version이 1.0 -> 1.1로 업데이트 되어 있다는 정도가 다입니다.

 

혹 이와 관련해서 유사한 경험을 해보신 분이나 관련 사항에 대한 정보를 얻을 수 있을까 싶어 이렇게 글을 올리게 되었습니다.

 

지금 1주일 넘게 이 문제가 해결이 안되서 골머리를 싸매고 있다보니 머리속이 뱅글뱅글 돌고 있네요...@_@;;

많은 분들의 조언 기다리겠습니다.