안녕하세요.
스트리밍 서비스를 개발하고 있는 초보 개발자입니다.

MediaPlayer 클래스에는 setDataSource 메소드가 존재합니다.
인자 값으로 FileDescriptor 또는 URI가 사용 됩니다.
그러므로 파일로부터 또는 스트리밍으로부터 동영상 플레이가 가능하다는 것을 확인했습니다.

문제는 http나 rtsp 프로토콜을 사용하는 것이 아니라
특정 서버의 관리에 의한 소켓 통신으로 스트리밍 서비스를 제공하려 하고 있습니다.
스트리밍으로 데이터를 받아 버퍼 파일에 기록하고 해당 파일을 재생하는 형식으로 일단 구현을 해봤습니다.
하지만 확인해 본 결과 MediaPlayer 객체가 데이터 소스를 설정하는 순간을 기점으로..
그 이후 버퍼 파일에 데이터를 추가해도 아무 반응을 하지 않았습니다.
아마도 설정하는 순간의 데이터만을 취급하는 것 같습니다.

파일을 데이터 소스로 하는 경우에는 위와 같지만..
URI 값을 통해 접근하는 경우에는 분명 버퍼를 어떤 식으로든지 사용을 하고 있습니다.
그런데 어떤 방식으로 접근을 하고 있는지 도통 찾아낼 수가 없습니다.
아시는 분이 계시면 답변 좀 부탁드립니다.