-1007 (플레이어 스트림 에러)
- 에러 코드: -1007
- 타입:
ERROR_MALFORMED - 요약: SDK 내부 재생 스트림 URL 규격 오류 또는 HTTP 데이터 수신 실패
원인 (4가지)
플레이어 재생 준비 단계 및 초기화 과정에서 스트림 데이터의 규격이 맞지 않거나 통신에 실패할 때 발생하며, 주요 원인은 다음과 같이 분류됩니다.
원인 A: setDevice() 인자로 null 전달 (Android)
KollusStorage.setDevice(deviceInfo)의 인자가 null이면 재생 준비 단계에서 이 에러가 발생합니다.
- 잘못된 예시
mStorage.setDevice(null);
- 올바른 예시
mStorage.setDevice(Build.MANUFACTURER + "/" + Build.MODEL);
caution
특정 환경에서 디바이스 정보를 구하지 못하는 경우에도 빈 문자열이나 null 대신 Fallback(대체) 문자열 값을 입력해야 합니다.
원인 B: KollusStorage 초기화 미완료 상태에서 재생 시도
setCertification() 또는 start() 메서드가 완료되지 않았거나 초기화 프로세스가 실패한 상태에서 재생을 시도하는 경우입니다.
- Android (초기화 완료 확인)
int errorCode = mStorage.getErrorCode();
if (errorCode != ErrorCodes.ERROR_OK) {
// 초기화가 실패한 상태이므로 재생을 시도하지 않습니다.
return;
}
- iOS (
start()실패 시 예외 처리)
do {
try storage.start()
} catch {
// 에러 처리 후 재생을 시도하지 않습니다.
return
}
원인 C: 재생 URL 경로 내 /i 또는 /si Prefix 누락
Kollus 재생 URL은 일반 링크(/i) 또는 보안 링크(/si) Prefix를 포함해야 합니다.
- 일반 링크 예시
https://v.kr.kollus.com/i?mc=...
- 보안 링크(JWT) 예시
https://v.kr.kollus.com/si?jwt=...
Prefix 없이 원본 URL을 직접 전달하거나 경로가 잘못 기입된 경우 스트림 인식이 불가능하여 에러가 발생합니다.
원인 D: 북마크 체크 응답의 JSON 파싱 오류 또는 error 필드 비정상
재생이 시작될 때 Kollus SDK가 북마크 정보를 서버에서 동기화 및 검증하는 단계를 거칩니다. 이 과정에서 아래와 같은 웹 서버 응답 예외가 발생한 상태입니다.
- 서버가 리턴한 응답 데이터의 JSON 포맷 파싱이 실패한 경우
- 응답 데 이터 내
error필드가 0이 아닌 다른 코드로 반환된 경우 (0: 정상, 그외: 오류)
// 정상 응답 예시
{ "error": 0, "data": [...] }
// 비정상 응답 예시 (-1007 에러 발생 가능)
{ "error": 1, "message": "..." }
북마크 연동 서버 URL 주소 자체가 잘못 설정되었거나, 고객사 자체 수신 웹 서버단에서 비정상 응답 패킷을 반환할 때 발생합니다.
진단
- 초기화 상태 검사:
KollusStorage.getErrorCode()(Android) 또는start()성공 여부(iOS)를 먼저 확인하세요. - 디바이스 식별자 검사:
setDevice()메서드가 실행될 때 입력되는 매개변수 로그를 출력하여null데이터 유입 여부를 확인하세요. - 재생 URL 규격 검사: 재생 URL이
/i?또는/si?로 시작하는지 확인하세요. - 북마크 데이터 형식 검사: 북마크 연동 URL이 설정되어 있다면 해당 서버로 쿼리를 전송하여 반환되는 JSON 데이터 형식을 직접 확인하세요. (
curl호출)
해결 방법
- 진단 단계를 통해 확인된 세부 원인별 소스 코드 및 URL 가이드를 참고하여 연동 로직을 수정하세요.
- 위의 4가지 진단 항목을 모두 확인 및 조치했음에도 현상이 해결되지 않는 경우, 에러가 관찰되는 실제 재생 URL과 에러 발생 전후 로그 데이터를 첨부하여 기술 지원팀(PE, tech_support@catenoid.net)으로 문의해 주세요.