2014-05-09 3 views
0

AndroidStagefright에 스트리밍 재생 사용 사례가 있으며 아키텍처와 구현에 대해 명확하지 않습니다.Stagefright - 스트리밍 재생 아키텍처

스트리밍 유스 케이스를 담당하는 주요 구성 요소에 대해 독자 나 전문가에게 설명을 요청합니다. 스트리밍 재생을 실현하기 위해 OMXCodec 대신에 ACodec이 사용되고 있다고 들었습니다.

ACodec이 지원하는 추가 구현은 무엇이며 StagefrightOMXCodec을 재사용하지 않은 이유는 무엇입니까?

Stagefright 코드의 중요한 링크를 가르쳐 주시겠습니까?

+0

캐시 리얼라이징 및 일시 중지 재개 관련 항목의 경우 스트리밍 시나리오와 관련된 컨텍스트와 다른 질문을 게시하는 것이 좋습니다. – Ganesh

+0

질문은 귀하의 제안에 따라 수정됩니다. – Satish

답변

1

스트리밍의 경우 Stagefright 프레임 워크에서 다르게 처리되는 다양한 시나리오가 있습니다. 일반적으로 2 명의 플레이어와 해당 공장, 즉 StagefrightPlayerNuPlayer이 있습니다.

StagefrightPlayerNuPlayerFactory에 구현 rtsp, m3u8 (MP3 playlist), sdp 재생을 위해 사용된다 NuPlayer 같은 기본 플레이어로 사용된다.

NuPlayer도 디폴트 플레이어와 동일한 것을 채용 할 때 사용될 수있다.

StagefrightPlayer은 내부적으로 AwesomePlayer which handles http/https and Widevine 스트리밍을 생성합니다.

이제는 ACodecOMXCodec이 오는 것은 서로 OMX 구성 요소를 추상화하기 때문에 서로 매우 가깝습니다. ACodec은 최근 출시 된 Android에서 제공하는 모듈 식 인터페이스 인 MediaCodec의 기본 구현입니다. 차이의

한 점은 있지만 몇 가지 새로운 기능은 등 prepending SPS/PPS to IDR in case of Miracast, Adaptive PlaybackOMXCodec 만에 ACodec하지 포함되어 있다는 것입니다.

+0

안녕 Ganesh, NuPlayerFactory는 NuPlayerDriver를 차례로 생성하여 ALooper와 NuPlayer를 생성합니다. ALooper에 대해 간단히 설명해 주시겠습니까? Nuplayer의 모든 구현이 다음과 같이 AMessage 호출을 호출하는 것을 볼 수 있습니다. new AMessage (kWhatSourceNotify, id()); NuPlayer :: onMessageReceived()를 어떻게 트리거 할 지 확신하지 못합니다. 메모리를 재생할 때, 굉장한 플레이어가 OMXCodec과 추출기를 생성합니다. 스트리밍 재생의 경우 어떻게 발생합니까? – Satish

+0

@SatishNagireddy .. 주제를 구체적으로 표현하기 위해 전체 플레이어 엔진에 대한 하나의 질문이 좋은 아이디어가 아닐 수도 있으므로 여러 가지 질문에 친절하게 설명해주십시오. – Ganesh

+0

제안에 감사드립니다. 나는 내 질문을 무너 뜨리고 다른 질문으로 게시 할 것이다. – Satish