한빛 미디어 예제 소스

모든 SourceBuffer 개체에는 상위 세그먼트 구문 분석 상태를 추적하는 내부 추가 상태 변수가 있습니다. 처음에는 WAITING_FOR_SEGMENT로 설정되며 데이터가 추가될 때 다음 상태로 전환할 수 있습니다. 추가 작업이 시작되면 다음 단계를 실행하여 SourceBuffer의 유효성을 검사하고 준비합니다. 트랙 버퍼는 개별 트랙에 대한 트랙 설명과 코딩된 프레임을 저장합니다. 초기화 세그먼트 및 미디어 세그먼트가 SourceBuffer에 추가되면 트랙 버퍼가 업데이트됩니다. 앞으로 이 알고리즘은 외부에서 호출되고 연결된 MediaSource(있는 경우)가 미디어 요소에서 분리되어야 하는 경우에 실행되도록 됩니다. 미디어 요소가 NETWORK_EMPTY로 전환될 때 뿐만 아니라 대신 에 로드()) 및 리소스 가져오기 알고리즘 오류와 같은 HTMLMediaElement [HTML51] 작업에서 호출될 수 있습니다. 리소스 가져오기 알고리즘 오류는 “최종 단계”[HTML51]가 분리를 트리거하는 오류로 간주되지 않는다는 점을 제외하고 리소스 가져오기 알고리즘 또는 리소스 선택 알고리즘을 중단하는 오류입니다. HTMLMediaElement 준비 상태 [HTML51] 논리에 따라 HTMLMediaElement.readyState 변경 내용이 HTMLMediaElement에서 이벤트를 트리거할 수 있습니다. 이 특정 전환은 HTMLMediaElement 논리를 트리거하여 작업을 큐에 대기하여 미디어 요소에서 로드된 메타데이터라는 간단한 이벤트를 발생시도록 해야 합니다. 바이트 스트림 형식이 인밴드 트랙 사양 [INBANDTRACKS]에서 다루는 것과 유사한 형식을 포함하는 경우 미디어 소스 확장 재생 및 비 미디어 소스 확장 재생이 동일한 트랙을 제공하도록 동일한 특성 매핑을 사용해야 합니다. 정보. HTMLMediaElement 준비 상태 [HTML51] 논리에 따라 HTMLMediaElement.readyState 변경 내용이 HTMLMediaElement에서 이벤트를 트리거할 수 있습니다.

활성화 된 비디오 트랙, 활성화 된 오디오 트랙 (들) 또는 텍스트 트랙 모드가 변경 되는 경우 활성SourceBuffers를 재생 하는 동안 업데이트 해야 합니다. 이러한 변경 중 하나 이상이 발생하면 다음 단계를 따라야 합니다. HTMLMediaElement.buffered현재 재생 위치를 포함하는 TimeRange가 포함되어 있는지 여부를 결정하기 위해 구현은 프레젠테이션 시작 시간 또는 이후및 첫 번째 TimeRange 이전의 현재 재생 위치를 허용하도록 선택할 수 있습니다. 프리젠 테이션 시작 시간 후, 1 초와 같이 합리적으로 짧은 시간 내에 시작하는 경우 첫 번째 TimeRange를 재생합니다. 이 수당은 일반적으로 muxed 스트림이 프레젠테이션 시작 시간에 모든 트랙을 정확하게 시작하지 않는 현실을 수용합니다. 구현은 이 허용범위에 관계없이 실제 버퍼링된 범위를 보고해야 합니다. 이러한 URL은 파일 및 Blob 개체를 참조하는 해당 기능의 정의에 있는 모든 항목이 MediaSource 개체에도 적용되도록 확장된다는 점을 제외하면 Blob URI와 동일합니다. 한 사설 문제 (작업자에서 createObjectURL (미디어 소스)의 노출을 제거) 이전 출판 이후 해결 되었다. 이전 버전 이후 수행된 변경 내용 목록은 커밋을 참조하십시오. 다음 단계는 활성 소스 버퍼의 모든 SourceBuffer 개체에 중단 되지 않은 재생을 보장 하기 위해 충분 한 데이터를 가지고 있는지 확인 하기 위해 재생 하는 동안 주기적으로 실행 됩니다. 또한 activeSourceBuffers를 변경하면 상태 전환을 트리거하는 조건에 영향을 미치기 때문에 이러한 단계가 실행됩니다.

이 사양을 사용하면 JavaScript에서