Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
2.3.17
Released date: 2024-09-11
Added Features
LMS Callback 전달 항목 추가 개발(백그라운드, 포그라운드 시 타임스탬프 값)
2.3.16
Released date: 2024-08-29
Added Features
on the fly DRM 적용 : 컨텐츠별 콜러스 DRM 적용
[V2.3.15] - 2024.08.13
PallyConFPSSDK.framework 2.3.0 적용 : 앱에서 교체해야 함\
SRT 자막 개행 문자 누락에 대한 예외처리
StorageManager nil 이면 ERROR_KOLLUS_STORAGE_IS_EMPTY 에러 처리
[V2.3.14] - 2024.06.25
PallyConFPSSDK.framework 2.1.0 적용 : 앱에서 교체해야 함
[V2.3.13] - 2024.06.19
[KollusAVPlayerView checkOutPut] Crash 현상 예외처리 보완
[V2.3.12] - 2024.05.09
AI배속 아이폰 재생시 끊기는 현상 개선
[V2.3.11] - 2024.04.15
AI배속 콘텐츠는 ios_player_type에 따라 재생
AI 배속 콘텐츠 정보 N-screen 에 추가
privacy manifest 파일 추가
/// 플레이어 타입 : hw, sw, native
@property (nonatomic, copy, readonly) NSString *iosPlayerType;
[V2.3.10] - 2024.03.28
[KollusProxyPlayerView checkOutPut] Crash 현상 예외처리
H/W Decoder 재생 시 Background Sound 재생 지원
다음회차 재생 시나리오 적용
다음회차 API 추가
/// 다음 회차 재생 Show Time
@property (nonatomic, unsafe_unretained, readonly) NSInteger nextEpisodeShowTime;
/// 다음 회차 재생 URL
@property (nonatomic, copy, readonly) NSString *nextEpisodeCallbackURL;
/// 다음 회차 재생 Params
@property (nonatomic, readonly) NSMutableDictionary *nextEpisodeCallbackParams;
[V2.3.9] - 2024.03.04
LMS 콜백내 AI 배속 재생 시간 추가 : at_playtime
iOS 지원 : iOS12 이상
연속 여러번 seek 시 이전 타이밍의 자막이 잠시 노출되는 현상 수정
[V2.3.8] - 2024.02.05
player ID 변경되는 것을 방지하기 위해 backup 저장
Native Player 에서도 AI 배속 정보 전달
[V2.3.7] - 2024.01.12
iOS Player sw 디코더 설정일 때 h265 영상 Seek 시 재생 화면이 비정상 출력되는 현상 수정
AI 배속 기능
구간 재생 파라미터 추가
AI 배속 관련 API 추가
KollusPlayerView.h에서
/// AI 배속 지원 여부
@property (nonatomic, unsafe_unretained) BOOL AIRateEnable;
/**
AI 배속 사용 설정
@param YES(default): YES : AI 배속, NO : 일반 배속
*/
(void) setAIRate:(bool)bAIRate;
/// Repeat Start Time
@property (nonatomic, unsafe_unretained, readonly) NSInteger nRepeatStartTime;
/// Repeat End Time
@property (nonatomic, unsafe_unretained, readonly) NSInteger nRepeatEndTime;
[V2.3.6] - 2023.11.01
H265 Hardware Decoder 기능 추가
북마크 타이틀에 urlencode 추가
고배속시 잔상남는 현상 수정
[V2.3.5] - 2023.08.10
Request Header 추가
[V2.3.4] - 2023.08.08
iOS SDK 영상 종료후 중앙 정렬 처리를 위해 앱에서 플레이어 release 처리
유선 이어폰 연결시 재생 상태는 기존으로 유지
DRM 처리 변경
[V2.3.3] - 2023.07.05
iOS 16.4.1 수강앱에서 sdk -2108 에러 수정
: 언어 및 지역/켈린더에서 불교력 선택유선 이어폰 연결시 A/V 싱크 이슈 수정
[V2.3.2] - 2023.05.16
UI lock 걸리는 현상 수정
[V2.3.1] - 2023.05.08
콜러스 플레이어(HW,SW)로 재생시 강의재생 시작후 다른 강의재생시 검은화면에 사운드만 나오는 상황 수정
[V2.3.0] - 2023.04.20
{PE} iOS 모바일 플레이어 8649 에러 수정
: jwt token 에 패딩 데이터 오류 처리SDK로 인한 UI 반응 없음 현상 수정.
: 싱크 함수 sendSynchronousRequest -> 어싱크dataTaskWithRequest로 변경재생 시작전에 종료시 crash 현상 수정
: metal render 초기화 중에 종료시 오류 수정KollusPlayer 사용중에 유선 이어폰 제거 시 일시정지 안되는 현상 수정
[V2.2.99] - 2023.02.08
player ID 획득 API 추가
/**
KollusStorage 시작
@param error 에러
@return 성공시 YES, 실패 시 NO를 반환
@warning 이 메서드를 호출하지 않은 경우 컨텐츠 개수(contentsCount)가 0으로 반환됨
@warning 이 메서드는 키체인으로부터 playerID 획득 실패시
최초 실행이면 새로 생성후 처리, 최초 실행이 아니면 세번 요청 모두 실패시 에러 처리
*/
(BOOL)startStorageWithCheck:(NSError**)error;
/**
KollusStorage 시작
@param error 에러
@return 성공시 YES, 실패 시 NO를 반환
@warning 이 메서드를 호출하지 않은 경우 컨텐츠 개수(contentsCount)가 0으로 반환됨
@warning 이 메서드는 playerID를 새로 생성하여 키체인에 등록하고 사용
*/
(BOOL)startStorageWithNewPlayerID:(NSError**)error;
[V2.2.98] - 2023.01.05
다중자막 기능 추가
초기화중 키체인에 접근하여 player ID 얻지 못할 경우 에러 처리
추가된 API
/**
KollusStorage 시작
@param first 설치후 최초 실행
@param error 에러
@return 성공시 YES, 실패 시 NO를 반환
@warning 이 메서드를 호출하지 않은 경우 컨텐츠 개수(contentsCount)가 0으로 반환됨
*/
(BOOL)startStorageWithFirst:(BOOL)first error:(NSError**)error;
/**
서브자막파일 선택
@param path 사용할 자막파일 경로
@return bool true:성공 false:실패
*/
(bool)setSubTitleSubPath:(char*)path;
/// 서브자막 파일 리스트
@property (nonatomic, readonly) NSMutableArray* listSubTitleSub;
/**
컨텐츠의 서브자막 전송
@param kollusPlayerView KollusPlayerView 아이디
@param charsetSub 캐릭터셋
@param captionSub 출력될 자막 데이터
*/
(void)kollusPlayerView:(KollusPlayerView*)kollusPlayerView charsetSub:(char*)charsetSub captionSub:(char* )captionSub;
[V2.2.97] - 2022.12.15
H264 하드웨어 디코더 추가
IPHONEOS_DEPLOYMENT_TARGET : 9.0 -> 11.0 변경
[V2.2.96] - 2022.02.22
LMS 콜백 전송시 현재 플레이어 볼륨, 배속 상태 값 : 추가
멀티 DRM 컨텐츠 이어보기 오류 : 수정
[V2.2.95] - 2022.01.20
disable zoom out API : 추가
포렌식 워터마크 라이브러리 교체
컨텐츠 다운로드중 정지시 download된 사이즈 제공 : 추가
컨텐츠 다운로드 취소되더라도 다운로드 완료되면 콜백 호출
백그라운드 오디오 재생 ON 설정 후 라이브 재생 시 백그라운드 상태에서 오디오 재생되지 않는 현상 : 수정
chat_debug_mode 추가하는 방식 변경 : url 이 다른 parameter가 없는 경우 ? 있는 경우 & 처리
downloadable 이 false인 경우 : 에러 처리
XCode13 으로 빌드시 FFmpeg에서 행 걸려 재생이 안되는 현상 수정
ios11 미만인 경우 disable_tvout이 1일때 screen count가 2이상인 경우 캡쳐 에러 처리
player_error - st 파라미터 확인 &st=live, &st=vod
iOS SDK 시크 시 LMS 보내지 않도록 기능 추가 요청
ABR 관련 Bandwidth 정보 Delegate로 전달 기능 구현
[V2.2.94] - 2021.07.26
play callback, drm callback 응답에서 disable_tvout 항목이 없으면 default값 true로 설정되어 화면 출력 허용여부를 default NO 제공
/// 화면출력 허용여부
@property (nonatomic, unsafe_unretained, readonly) BOOL screenConnectEnabled;downloadContent delegate 호출을 async -> sync로 변경
UI 관련 코드는 아래와 같이 비동기 방식으로 사용해야 합니다.
dispatch_async(dispatch_get_main_queue(), ^(void){
// UI 관련 코드
});
[V2.2.93] - 2021.04.13
disable_tvout이 false인 경우 TV out, 화면 미러링 허용
: 화면 캡처 방지 풀림
[V2.2.92] - 2021.04.01
AVPlayer에서 인트로 영상 본후 본영상 진행시 LMS 콜백 중 첫 LMS만 미발송 현상 : 수정
[V2.2.91] - 2021.02.19
인트로 영상 끝나고 본영상 재생전까지 버퍼링 이벤트 전달 : 재생 시작전 버퍼링
컨텐츠 다운로드시 포그라운드->백그라운드->포그라운드시 다운로드 진행률 값이 갱신 안되는 현상 : 수정
AV Player사용시 Pause 상태에서 Seek시 Pause 처리
백그라운드 다운로드시 다운로드 완료시점에 후처리 작업을 병렬 처리에서 순차 처리로 변경 : 메모리 과다 사용으로 죽는 현상 : 수정
Background에서 Foreground 상태로 진입시 Player 재생상태를 Pause로 유지하기 위한 API : 추가
라이브 방송 채팅 기능 : 추가
맥북 M1 chip 모델에서 iOS 보안 취약점으로 실행 에러 처리(-1015)
/**
Foreground 상태로 변경시 Player 재생상태를 Pause로 유지하기 위한 API
@param NO(default): 포그라운드 진입시 자동재생(기존과 동일)
@param YES: 포그라운드 진입시 pause 상태로 유지됨. APP에서 필요한 경우 Play 처리 필요
*/
(void)setPauseOnForeground:(BOOL)bPause;
KollusPlayerView.h에 추가된 내용
/// 라이브 채팅
@property (nonatomic) KollusChat *kollusChat;
KollusChat.h 추가
[V2.2.90] - 2020.12.08
AVPlayer에서 연속재생 기능 사용 시 오류 : 수정
[V2.2.89] - 2020.12.04
AVPlayer로 재생시 지원하지 않는 포맷인 경우 : -8028 에러 대신 -1010 에러 처리
-1010 에러 : 지원되지 않는 컨텐츠입니다.\n서비스 제공 업체에 문의해주시기 바랍니다.Awesome 플레이어 사용시 북마크 삭제 안되는 현상 : 수정
Live PlayCallback 스펙 적용
Awesome Player 사용시 간헐적으로 -8615 에러 : 수정
미 전송된 LMS 데이터 전송 할 수 있는 API 추가
앱에서 sendStoredLms 호출
전송된 결과 콜백 (void)onSendCompleteStoredLms:(int)successCount failCount:(int)failCount
[V2.2.88] - 2020.10.12
멀티 DRM 컨텐츠 다운로드 기능 : 추가
파트너 포털에서 자막 스타일 설정시 자막 설정 스타일 스트링 값 추가 : strCaptionStyle
멀티 DRM 컨텐츠 fileSize 가 0일때 :
-- 다운로드 시작시 대략 계산 3128 / 8 * 1024 * 초
-- 완료시 폴더 사이즈 계산북마크 Url에서 userValue가 있는 경우에 미디어정보에는 치환자가 없을 때 : 북마크 정보 보여지지 않는 현상 : 수정
-- 치환자 없을 시에는 QueryString 삭제
주의 사항
Xcode 설정
PallyConFPSSDK.framework 추가
Embed : Embed & Sign
Build Options - Always Embed Swift Standard Libraries : YES
[V2.2.87] - 2020.08.12
여러 개(14개 정도) 다운로드 로딩 중 백그라운드 진입 -> 포그라운드 올 시 죽는 현상 : 수정
오프라인 북마크 추가시 라벨 값이 있을 시 추가
스트리밍 영상 재생시 Hit 가 두번 되는 현상 : 수정
Multi-DRM 컨텐츠 스트리밍 재생시 이어보기 되지 않는 현상 : 수정
UserAgent 변경
참고 : 컨텐츠 재생 시도시 -8646 에러 발생하면 해당 파일 삭제 처리바랍니다.
[V2.2.86] - 2020.07.24
다운로드 컨텐츠 재생 완료후에 NScreen Disable 인 경우 NScreen 정보 서버로 전송되는 오류 : 수정
인트로가 있는 특정 켄텐츠에서 인트로 재생후 본영상 재생시도시 -8613 에러 : 수정
iOS11 이상에서 다중 다운로드 중, 다운로드가 개수가 6개까지 늘어나는 현상 : 수정
멀티 다운로드 갯수 제한 OS 버전 11이상에서는 3개, 버전 11 미만에서는 1개 처리
컨텐츠 다운로드시 컨텐츠 Loading 중 Background/Foreground 왔다갔다 하면 Crash 되는 문제 : 수정
[V2.2.85] - 2020.07.14
LOGE(char*, …) 에서 죽는 현상 : 수정
로그 버퍼 사이즈 넘지 않도록 출력함
KollusProxyPlayerView setupVideoPlaybackForURL 함수안 removeObserver 에서 죽는 현상 : 수정
try catch 적용하여 crash 피함
String8::String8(char cnost*) 에서 죽는 현상 : 수정
value 값이 nil 인 경우 ""(공백) 처리
인트로가 있는 영상 (OT, 통강 맛보기 등) 재생 시, -8613 에러가 빈번하게 발생하는 현상 : 수정
인트로+본영상+아웃트로 등의 영상 조합에서 오디오 워터마크 처리 시 오디오 워터마크 처리할 수 있는 player로 재생
백그라운드 다운로드 재생시 download Progress 값 갱신 처리
android::ALooper::stop() 에서 죽는 현상 : 수정
TextDriver 삭제시 기존에 pause 처리하는 작업 생략함 : crash 현상 피함
[V2.2.84] - 2020.06.08
HLS Live 재생시 화질 선택 정보 API : 추가
HLS VOD 자막 지원 : 추가
[V2.2.83] - 2020.04.27
백그라운드에서 컨텐츠 다운로드 기능 추가
(void)setBackgroundDownload:(BOOL)bBackground;
// 컨텐츠 백그라운드 다운로드 여부
// bBackground - YES : 실행, NO : 실행하지 않음
사용 방법
startStoreage 함수 호출 이후에 사용
ex) [storage setBackgroundDownload:YES];컨텐츠 다움로드시
컨텐츠들을 다운로드 초기화후
[storage loadContentURL:[downloadList objectAtIndex:i] error:&error]
컨텐츠들을 다운로드를 함
[storage downloadContent:[[listDownloading objectAtIndex:i] objectForKey:@"mck"] error:&error]
그러면 SDK에서 최대 3개씩 다운로드를 실행함
[V2.2.82] - 2020.04.17
재생 화면 확대 후 화면 이동후 축소시 가운데 정렬 안되는 현상 : 수정
2배속 설정 이후 상단바를 내릴 시 영상이 1.0 배속으로 재생되는 현상 : 수정
[V2.2.81] - 2020.03.19
미디어 토큰에 타이틀이 길 경우 크래시 현상 : 수정
플레이어에서 Pause된 상태에서 NScreen 데이터 전달
[V2.2.80] - 2020.03.03
UIWebView 사용 : 제거
자막 구간에서 seek시 자막이 나오지 않는 현상 : 수정
알수 없는 에러 -8805 값을 타임아웃 에러 -8028로 표시
iOS 무음모드에서 소리 재생되는 버그 : 수정
[V2.2.79] - 2020.01.15
LMS 데이터에 TIMEMAP_DATA 추가 : 초단위 진도율
아이폰11 이상 단말에서 hls vod 재생시 lms 전송 안되는 현상 : 수정
-- 원인) play section 값이 잘못 들어간 현상
[V2.2.78] - 2019.10.30
HLS Live 방송 LMS 기능 : 추가
play/drm callback 통신시 동적 파라미터 : 추가
예시)컨텐츠 다운로드 시
NSString * extraDrmParam = @"testExtraDrm";
storage setExtraDrmParam:extraDrmParam];
NSString *mck = [storage loadContentURL:[downloadList objectAtIndex:i] error:&error];
2)재생시
NSString * extraDrmParam = @"testExtraDrm";
[player setExtraDrmParam:extraDrmParam];
[player prepareToPlayWithMode:playerType error:&error])
HLS VOD 재생시 LMS callback, play callback 오류 : 수정
[V2.2.77] - 2019.09.17
userValue 크기 제한 없앰
nscreen disable 처리
이어보기 끝으로 이동후 종료하면 nscreen값이 기존 값으로 유지되는 현상 : 수정
인트로 재생후 본영상 넘어가지 않는 현상 : 수정
[V2.2.76] - 2019.07.18
-8479 에러 발생 이후 LMS 데이터 last_play_at 값이 0인 현상 : 수정
[V2.2.75] - 2019.07.09
중복 에러 발생후에도 중복 체크 요청을 계속하는 현상 : 수정
중복 에러 발생시에도 NScreen 정보 전송
[V2.2.74] - 2019.06.19
duplicate symbol 오류 : 수정
: setStringCheckNull주기적으로 중복 재생 체크중 에러가 발생하면 중복 체크하지 않도록 수정
[V2.2.73] - 2019.06.10
drm callback, play callback 요청시 서버로 디바이스 시간을 보내주는 기능 : 추가
[V2.2.72] - 2019.05.21
중복 재생 차단 보안 강화 : 추가
인트로영상 재생 후 본 영상 재생시 화면이 겹치는 현상 : 수정
[V2.2.71] - 2019.03.27
iOS 비디오 워터 마크 텍스트 길이가 10자 이상인 컨텐츠 재생 오류 : 수정
Drm callback kind3 요청시 컨텐츠 만료일 : 추가
[V2.2.70] - 2019.01.14
비디오 워터마크 : 추가
다운로드 컨텐츠 재생시 미디어 컨텐츠키가 다운로드 목록에 없을 시 : -8638 에러(다운로드 된 컨텐츠가 존재하지 않습니다.) 처리
[V2.2.69] - 2018.11.08
콜러스 SDK 적용후 Xcode10에서 링크 오류나는 현상 : 수정
[V2.2.68] - 2018.10.10
iOS Xcode10 지원 : libstdC++ 방식을 libC++로 변경
: KollusSDK iOS 사용을 위한 Xcode 설정 (v2.0).pdf 내용 변경
-- 페이지2에서 Linking -Other Linker Flags 항목 : -lstdc++ --> -lc++
[V2.2.67] - 2018.08.24
영상 재생후 백그라운드 진입후 한시간 이후 재생시 -8479 중복 접속 에러 현상 : 수정
: 중복 check시에 현재 시간이 기존 중복 register 또는 check 한 시간보다 30분 이상 경과시 중복 register 부터 처리하도록 함라이브 영상 재생시 중복 체크 기능 추가
[V2.2.66] - 2018.08.22
다운로드된 영상을 오프라인으로 재생후 다시 온라인으로 재생시 오프라인일때 전송 안된 진도율 데이터 전송 안되는 현상 : 수정
다중 컨텐츠(인트로 포함된 영상) 재생 시 구간재생(Preview)이 있는 경우 다음 영상 안 넘어가는 현상 : 수정
: App에서는 구간재생이 완료되면 setSkipPlay 함수 호출해야 됨
/**
play list중에 현재 재생중인 동영상을 skip
*/
(BOOL) setSkipPlay;
[V2.2.65] - 2018.08.03
내장 플레이어 사용하는 경우 플레이어 종료시 간헐적으로 crash 현상 : 수정
원인) 종료시 LMS 전송중에 발생
[v2.2.64] - 2018.07.16
HLS 플레이어 release하는 과정에 간혹 observer remove 하면서 crash 발생하는 현상 : 수정
원인) 플레이어 instance가 먼저 release 가 되어서 발생한 현상
[v2.2.63] - 2018.07.09
잉카 Drm 서버와 통신 중에 에러가 발생하는 경우 App 으로 에러코드, 에러 메시지 전달
[v2.2.62] - 2018.06.28
drm callback kind 3의 응답 값으로 result가 0인 경우 에러코드가 -8655로 App으로 전달하던 값을 -8657로 전달
[v2.2.61] - 2018.06.22
iOS 내장 플레이어 OFF 상태이고 WiFi OFF 상태이며 drm callback이 Offline 북마크 사용으로 설정된 상태에서 다운로드된 컨텐츠 재싱시 북마크 기능이 안되는 현상 : 수정
[v2.2.60] - 2018.06.21
iOS 내장 플레이어 OFF 상태이고 WiFi OFF 상태에서 다운로드 컨텐츠 재생시 Crash 나는 현상 : 수정
[v2.2.59] - 2018.06.14
컨텐츠 다운로드중 -8302 에러 : 수정
[v2.2.58] - 2018.06.07
스트리밍 재생시 이어보기가 안되는 현상 : 수정
: Nscreen data 전송 안되는 문제
원인) 네트워크 환경이 IP V6 인 경우에 발생
[v2.2.57] - 2018.05.31
기존에 전송하지 못한 북마크 데이터 체크중 전송하지 못한 데이터가 있을 경우 오류 : 수정
HLS 컨텐츠 재생중에 백그라운드 진입하면 Pause 된 영상이 포그라운드 진입시 자동 재생 처리
[v2.2.56] - 2018.05.18
오프라인 북마크 연동 기능 추가
: DRM callback 문서에 추가됨, kind1 offline_bookmark > download, readonly
API 추가
/// 오프라인 북마크는 다운로드 컨텐츠만 사용
/// 0: 사용 안함, 1: 사용함
@property (nonatomic, unsafe_unretained, readonly) NSInteger nOfflineBookmarkUse;
/// 1: 인덱스만 다운로드, 2: 인덱스/북마크 모두 다운로드
@property (nonatomic, unsafe_unretained, readonly) NSInteger nOfflineBookmarkDownload;
/// 추가/삭제 사용 여부( 0:사용(기본값), 1: 사용 안함)
@property (nonatomic, unsafe_unretained, readonly) NSInteger nOfflineBookmarkReadOnly;모바일 재생 종료시 LMS, N-Screen 데이터를 async 방식 처리
전체 반복 재생시 컨텐츠 마지막 부분의 LMS 데이터 발송 오류 : 수정
HLS + FairPlay Player 추가
API 추가 : FairPlay가 있는 경우 컨텐츠 재생 준비 API(- (BOOL)prepareToPlayWithMode:(KollusPlayerType)type error:(NSError**)error;) 호출 전에 세팅해야 함
/// FairPlay 인증 URL
@property (nonatomic, copy) NSString *fpsCertURL;
/// FairPlay DRM URL
@property (nonatomic, copy) NSString *fpsDrmURL;사용 방법
player = [[KollusPlayerView alloc] initWithContentURL:path];
......
/* FairPlay DRM이 있는 경우에서 사용 */
[player setFpsCertURL:@"https://license....."];
[player setFpsDrmURL:@"https://......"];
......
[player prepareToPlayWithMode:PlayerTypeLive error:&error];
[v2.2.55] - 2018.05.02
v2.2.54 버전에서 백그라운드 진입시 오류 나는 현상 :수정
[v2.2.54] - 2018.05.02
"com.apple.springboard.lockcomplete" API 사용하지 않도록 함
Lock 발생시 App이 백그라운드 진입과 동일한 시나리오로 처리
: 재생중에 백그라운드 진입시 Pause 처리, 포그라운드 진입시 Resume 처리
[v2.2.53] - 2018.04.11
기존에 다운로드 완료하여 폰에 저장된 컨텐츠를 재 다운로드시 앱으로 에러 -9000과 해당 미디어 컨텐츠 키 전달
[v2.2.52] - 2018.04.09
기존에 다운로드 완료하여 폰에 저장된 컨텐츠를 재 다운로드시 -10400 에러 올려주는 값을 -9000 으로 변경
[v2.2.51] - 2018.03.29
썸네일 사용 옵셩 처리 : 사용 유무
썸네일 다운로드 방식 옵션 처리 : Sync 또는 Async 다운로드
SDK API 및 Delegate 추가
/// 썸네일 사용 여부
@property (nonatomic, unsafe_unretained, readonly) BOOL isThumbnailEnable;
/// 썸네일 다운로드 방식(sync, async)
@property (nonatomic, unsafe_unretained, readonly) BOOL isThumbnailSync;
/**
썸네일 비동기 다운로드 완료를 전송
@param kollusPlayerView KollusPlayerView 아이디
@param 썸네일 유무
@param error 에러상세
*/
(void)kollusPlayerView:(KollusPlayerView *)kollusPlayerView thumbnail:(BOOL)isThumbnail error:(NSError *)error;
[v2.2.50] - 2018.03.23
KcontentTypeString 중복 심벌 에러 : 수정
[v2.2.49] - 2018.03.22
play callback, drm callback에 expiration_playtime_type 추가
: 0이면 expiration_playtime의 값은 영상 시간 기준
: 1이면 expiration_playtime의 값은 영상 재생한 사용한 시간 기준LMS data 전송시 showtime(영상 재생한 시간) 추가
알 수 없는 오류 : -2147483648 값을 에러 코드에 있는 값으로 대체
스트리밍, 다운로드 시작시 에러코드 -8056 발생 빈도 줄임
[v2.2.48] - 2018.01.08
중국어 간체 지원
[v2.2.47] - 2017.12.29
자막파일 관련 API 추가
/**
자막파일 선택
@param path 사용할 자막파일 경로
@return bool true:성공 false:실패
*/
(bool)setSubTitlePath:(char*)path;
/// 자막 파일 리스트
@property (nonatomic, readonly) NSMutableArray* listSubTitle;
Code Block |
---|
/// 자막 정보 |
@interface SubTitleInfo : NSObject
/// 자막 이름
@property (nonatomic, retain) NSString* strName;
/// 자막 경로
@property (nonatomic, retain) NSString* strUrl;
/// 자막 언어
@property (nonatomic, retain) NSString* strLanguage;
[v2.2.46] - 2017.12.05
아이폰X에서 스크린 모드에 따라 줌이 안되는 현상 : 수정
[v2.2.45] - 2017.11.14
미디어 정보에 있는 강제 이어보기 설정 값 App으로 전달
내장 플레이어 사용시 네트워크가 약전계인 상황에서 플레이어가 버퍼링 중일때 -2111 오류 뜨는 현상 : 수정
추가로 플레이어가 버퍼링중인데 Proxy server에 일정시간(2분)동안 data 요청하지 않으면 -2111(재생할 수 없습니다. 다시 재생 시도해주세요.) 오류 처리
[v2.2.44] - 2017.10.13
Swift에서 - (NSString )loadContentURL:(NSString )URL error:(NSError)error; 를 호출한 후 에러가 발생하였을 때 에러를 catch하지 못하는 문제 : 수정
에러가 발생하였을 때 ""(공백문자)로 리턴하던 것을 nil로 리턴하도록 수정
[v2.2.43] - 2017.09.28
특정 상황에서 player stop시 delegate로 notify할 때 crash나는 현상 : 수정
[v2.2.42] - 2017.09.20
기기 대수 제한과 중복 재생 차단 메시지 분리
DRM callback내 만료 기간 설정 외 기간 설정 추가
자막있는 오디오 파일인 경우 뒤로 seek시 자막이 나오지 않는 오류 : 수정
LMS callback 내 플레이어 실제 구동 시간 추가
iOS11 Screen Recording 차단 기능 추가
[v2.2.41] - 2017.05.19
사용자가 디바이스 Lock버튼 누를 시 callback 함수 전달
/**
디바이스 락 발생시 전송
@param kollusPlayerView KollusPlayerView 아이디
@param lockedPlayer 실행중인 player type
*/
(void)kollusPlayerView:(KollusPlayerView *)kollusPlayerView lockedPlayer:(KollusPlayerType)playerType;
사용자가 Lock 버튼 누를 시 Kollus SDK 시나리오
외장 플레이어 사용중인 경우
디바이스 락 발생시 callback 전송
플레이어는 재생 시작전에는 stop 처리, 재생 시작후에는 pause처리
stop 혹은 pause callback 전송
내장 플레이어 사용중인 경우
디바이스 락 발생시 callback 전송
플레이어 stop 처리
stop callback전송
[v2.2.40] - 2017.05.15
내장 플레이어에서 intro가 있는 영상 재생중에 App에서 player stop()을 호출시 App으로 stop delegate 전달 안되는 현상 : 수정
intro가 있는 영상 재생중에 lock 버튼을 누르면 SDK에서 player stop하고 App으로 stop delegate 전달 안되는 현상 : 수정
[v2.2.39] - 2017.05.12
하드웨어 lock 버튼 클릭시 기존에는 player가 pause처리했으나 stop처리 함
내장 플레이어에서는 proxy 서버를 사용하기 때문에 lock 버튼이 클릭되면 내장 플레이어와 proxy 서버 연결이 끊어져서 재생이 불가됨
외장 플레이어도 내장 플레이어와 동작을 맞추기 위해 stop 처리함
[v2.2.38] - 2017.05.10
앱 등록 시 바이너리 거절되는 현상 : 수정
2017년 4월경 부터 Apple에서 lock state체크하는 부분을 지원하지 않음
(Unsupported operation - Apps are not allowed to listen to device lock notifications)애플 포럼(https://forums.developer.apple.com/thread/76325)에서 구체적으로는
‘com.apple.springboard.lockstate’을 사용할 수 없다고 합니다.
‘com.apple.springboard.lockstate’ this is no longer allowed by apple수정 사항은
‘com.apple.springboard.lockstate’ —> ‘com.apple.springboard.lockcomplete’ 로 변경ipv6 지원
[v2.2.37] - 2017.02.28
재생 속도 10배속까지 지원.
경고 : 2배속 초과시 품질 저하 및 오디오, 비디오 싱크가 맞지 않을 수 있음
[v2.2.36] - 2017.02.23
API @property (nonatomic, unsafe_unretained, readonly) NSInteger nSeekableEnd; 추가
주어진 n초까지 또는 현재 재생 초까지 Seek 할 수 있음. seekable이 false일 때만 적용
API @property (nonatomic, unsafe_unretained, readonly) BOOL disablePlayRate; 추가
배속 재생할 수 있는지 확인
[v2.2.35] - 2017.01.13
콜러스 외장 플레이어에서 LMS 전송 오류 : 수정
[v2.2.34] - 2017.01.12
DRM 일광 갱신 max 10개 단위 array로 처리
사용자 어뷰징 방지를 위한 다운로드 컨텐츠 DRM Kind 1, 3 적용
iOS 컨텐츠 저장 위치 변경(Caches —> Documents), 기존 Caches 저장된 컨텐츠 Documents로 이동
[v2.2.33] - 2016.12.08
object-c 파일에서 같은 parsingUrlQuery() 함수 이름 변경 : CTN_parsingUrlQuery, KPP_parsingUrlQuery, KNP_parsingUrlQuery
media content key 값으로 세마포어 이름으로 사용하는데 media content key값의 길이가 길어서 세마포어 open시 에러 현상 : 수정
[v2.2.32] - 2016.12.07
콜러스 플레이어로 재생 시작시 간헐적으로 코덱 초기화 과정에서 “-2147483648” 에러 현상 : 수정
[v2.2.31] - 2016.12.05
다운로드 컨텐츠에 대해 LMS 데이터 전송 Off 기능 추가
ex) player = [[KollusPlayerView alloc] init]; // 플레이어 초기화
......
[player setLmsOffDownloadContent:YES]; // LMS 전송 off 설정
......
[player prepareToPlayWithMode:playerType error:&error]; // 재생 준비내장 플레이어 사용시 Proxy Server포트를 App에서 설정
ex) player = [[KollusPlayerView alloc] init]; // 플레이어 초기화
......
[player setProxyPort:7301]; // 내장 플레이어 Proxy server Port 설정
......
[player prepareToPlayWithMode:playerType error:&error]; // 재생 준비LMS callback(진도률) 전송시 real_playtime 추가
북마크에 User Value가 있는 경우 처리
[v2.2.30] - 2016.11.08
다운로드된 컨텐츠가 여러개(10개 이상) 있을 때 다운로드 속도 저하되는 현상 : 수정
[v2.2.29] - 2016.11.04
콜러스 플레이어로 오디오 파일 재생중 pause시 재생 시간이 흘러가는 현상 : 수정
콜러스 플레이어로 오디오 파일 seek시 간헐적으로 seek 안되는 현상 : 수정
콜러스 플레이어로 아이폰4(iOS 7.0.4) 에서 재생중 Home 키로 백그라운드 갔다가 재 진입시 오디오만 재생되는 현상 : 수정(오디오 pause 되도록)
다운로드 컨텐츠가 많은 경우 리스트를 가져올 때 오래 걸리는 현상 : 수정
컨텐츠 리스트 갱신 시점플레이어를 종료하는 경우
다운로드를 완료 Notify하는 경우
만료처리가 필요한 경우
캐시 사이즈 설정 API 추가
해당 API는 startStorage 수행 다음에 수행하면 됩니다. API를 호출하지 않으면 기본 500MB를 캐싱합니다.
[v2.2.28] - 2016.10.25
play callback, drm callback request 요청시 userValue 빠진 부분 추가
[v2.2.27] - 2016.10.24
오디오 컨텐츠인 경우 Background에서도 재생 가능 : 추가
플레이어 초기화 하고 재생준비 호출하기 전에 오디오 background 설정 호출
ex) player = [[KollusPlayerView alloc] init]; // 플레이어 초기화
......
[player setAudioBackgroundPlay:YES]; // 오디오 background 설정
......
[player prepareToPlayWithMode:playerType error:&error]; // 재생 준비내장 플레이어에서 LMS data의 0%에서 올라가지 않는 현상 : 수정
[v2.2.26] - 2016.09.30
NSDictionary data에 “(, )” 괄호 문자가 들어가는 경우 swift 3 의 AnyHashable 에서 crash 나는 현상 : “(, )” 괄호 문자 제거함
[v2.2.25] - 2016.09.23
iOS Swift3에서 build 및 링크 오류 : 수정
[v2.2.24] - 2016.09.09
HLS Live Player 추가
[v2.2.23] - 2016.08.30
FingerPush 라이브러리와 Kollus sdk에서 사용하는 KeychainItemWrapper에서 링크 에러 : 수정
[v2.2.22] - 2016.08.26
기기제한에 걸리는 기기에서 간헐적으로 로딩상태에서 멈춤 (기기제한 error도 발생하지 않는 상태) : 수정
SDK를 사용하는 App에서 같은 Player ID를 사용할 수 있도록 구현
KollusPlayer iOS SDK를 사용하는 App에서 새로운 Player ID 생성으로 같은 Player ID사용 방법
사용하는 App에서 Keychain Sharing을 On으로 설정
사용하는 App에서 Keychain Group을 같은 값으로 설정(예 : com.st.keychain)
Keychain Group 문자열을 Kollus Player SDK에 전달
KollusStorage 생성
storage = [[KollusStorage alloc] init];
2)KollusStorage 생성된 다음에 Keychain Group 문자열(App prefix.keychain Group) 전달
[storage setKeychainGroup:@“team ID.com.st.keychain”];
[v2.2.21] - 2016.08.23
Native Player에서 (인트로 -> 강의 영상 -> 아웃트로)인트로 재생 시작하자마자 에어플레인 모드 on하여 네트워크 연결 끊어졌을 시 crash 현상 : 수정
Kollus Player에서 인트로가 나오자 마자 에어플레인 모드 ON하여 네트워크를 끊었을 때 crash현상 : 수정
인트로로 MediaContentKey가 같은 값으로 연속해서 배열시 재생 안되는 현상 : 수정
Kollus Player에서 인트로가 나오자 마자 에어플레인 모드 ON하여 네트워크를 끊었을 때 잘못된 에러 메시지 오류 : 수정
[v2.2.20] - 2016.08.18
인트로가 재생되고 본 영상이 재생될 때 기기 초과가 되거나 수강기간 만료등의 에러의 custom 메시지가 보이지 않는 오류: 수정
[v2.2.19] - 2016.08.17
인트로가 재생되고 본 영상이 재생될 때 기기 초과가 되거나 수강기간 만료등의 에러가 발생했을 때 앱 비정상 종료되는 오류 : 수정
[v2.2.18] - 2016.07.20
intro + 본영상 + outro로 된 url 인 경우 재생 안되는 오류 : 수정
intro + 본영상 + outro 마지막 재생후 종료시 간헐적으로 crash 오류 : 수정
[v2.2.17] - 2016.07.18
링크 오류 : 수정
wifi off일때, 다운로드된 DRM 컨텐츠 재생 시도시 에러 팝업 나오는 현상 : 수정
[v2.2.16] - 2016.07.14
스트리밍 재생시 play_callback kind=1, 3 두번 호출되는 현상 : 수정
[v2.2.15] - 2016.06.02
PlayerTypeNative일 때 스트리밍 재생 시작하자마자 빠르게(플레이어 뜨자마자 백버튼 연타) 종료를 하면 플레이어 종료 안되는 현상 : 수정
[v2.2.14] - 2016.06.02
기기 제한으로 상황에서 스트리밍 재생 시도시 오류없이 로딩 유지되는 현상 : 수정
[v2.2.13] - 2016.05.31
플레이어 화면 출력 모드에 화면 비율 관계없이 화면사이즈에 채움 기능 추가
: KollusSDK.h 파일에 KollusPlayerContentMode ENUM type으로
KollusPlayerContentModeScaleFill 추가
[v2.2.12] - 2016.05.04
인트로 기능 추가 : delegate prepareToPlayWithError 후에 확인 가능
/// 인트로 여부 : YES - 인트로 컨텐츠, NO - 일반 컨텐츠
@property (nonatomic, unsafe_unretained, readonly) BOOL intro;
/// seek 할 수 있는지 : YES - seek 가능 , NO - seek 불가능
@property (nonatomic, unsafe_unretained, readonly) BOOL seekable;
/// 주어진 n초후에 skip : -1 - skip 불가능 , 0 이상 - n초후에 skip가능
@property (nonatomic, unsafe_unretained, readonly) NSInteger nSecSkip;
/**
play list중에 현재 재생중인 동영상을 skip
*/
(BOOL) setSkipPlay;
본 영상 앞에 인트로 영상이 있는 경우 Skip을 하거나 끝까지 재생이 되면
다음 영상 재생을 위해 delegate prepareToPlayWithError가 notify되고 본 영상이 끝나면
delegate stop이 notify됩니다.
구간 미리보기 기능 추가
// 미리보기 정보 : delegate prepareToPlayWithError후에 확인 가능
@property (nonatomic) KPSection *playSection;
/// Play Section Start Time : 시작 시간(초)
@property (nonatomic, unsafe_unretained) NSInteger startTime;
/// Play Section End Time : 끝 시간(초)
@property (nonatomic, unsafe_unretained) NSInteger endTime;DRM 컨텐츠 일괄 갱신 기능 추가
/**
Drm 컨텐츠 리스트 갱신
@param expired 모든 컨텐츠 YES, 만기된 컨텐츠 NO
*/
(void)updateDownloadDRMInfo:(BOOL)bAll;
/**
Delegate : DRM 컨텐츠 리스트를 일괄 갱신중 각 컨텐츠 갱신이 끝난 경우 호출
@param KollusStorage KollusStorage 아이디
@param cur 현재 항목
@param count 전체 컨텐츠 갯수
@param error 에러정보: nil이 아닌 경우 에러발생
*/
(void)kollusStorage:(KollusStorage *)kollusStorage cur:(int)cur count:(int)count error:(NSError *)error;
[v2.2.11] - 2016.03.31
내장 플레이어에서 플레이어(재생) 진입 후 곧바로 seekbar를 맨 뒤로 옮길 시 freezing현상이 30초 이상 발생 : 수정
[v2.2.10] - 2016.03.28
charset, caption linker command failed : 수정
[v2.2.9] - 2016.03.24
Debug API 추가 (frameRate)
(void)kollusPlayerView:(KollusPlayerView*)kollusPlayerView framerate:(int)framerate
int frameRate = (framerate >>16)&0x0000FFFF; // 1초 동안 frame rate
int rejectRate = framerate & 0x0000FFFF; // 1초 동안 frame reject
내장 플레이어 Seek 속도 개선
naturalSize 델리게이트 수정
기존: KollusPlayerView:(KollusPlayerView*)kollusPlayerView naturalSize:(CGSize)naturalSize
수정: kollusPlayerView:(KollusPlayerView*)kollusPlayerView naturalSize:(CGSize)naturalSizeKollusContent에 DRM 정보 추가(DRM 전체 재생가능 시간, DRM 재생가능 시간, DRM 유효기간 갱신 팝업 여부)
플레이어 스킨 정보 추가 : @property (nonatomic, copy) NSString *customSkin; // JSON Data
플레이어 생성 여부 확인 API추가
(BOOL)isOpened;
PlayerTypeKollus로 재생중 홈버튼 누르는 경우 간헐적 crash 현상 수정
[v2.2.8] - 2015.12.01
플레이 도중 home 또는 screen lock 이후 돌아왔을 때 플레이 미동작 :수정
[v2.2.7] - 2015.11.26
컨텐츠 다운로드중 UI 동작 부자연스러운 현상 수정
[v2.2.6] - 2015.11.26
다운로드 받은 컨텐츠 재생 시작시 drm callback에서 기기제한 alert(-8655)의 OK버튼을 클릭 위 과정을 반복시 데드락 현상 수정
[v2.2.5] - 2015.11.24.
다운로드중 > 네트웍 단절 > 재생 > 네트웍연결 > 다운로드 시 무응답증상 수정
[v2.2.4] - 2015.11.20.
재생 > 종료 수차례 반복시 Crash 현상 수정
[v2.2.3] - 2015.11.17.
PlayerTypeNative인 경우 로딩 에러 발생시 빠르게 팝업창을 닫으면 crash 되는 현상 수정
[v2.2.2] - 2015.11.16.
offline mode에서 LMS정보 전송시도 후 crash되는 현상 수정
[v2.2.1] - 2015.11.16.
DB에 저장된 LMS데이터를 전송할 때 UserValue가 누락되는 현상 수정
[v2.2.0] - 2015.11.11.
-8646 에러문구를 “파일 접근에 실패했습니다.\n저장공간이 부족한지 확인해주십시오.”로 변경
bitrate가 큰 컨텐츠를 Seek시 버퍼링이 오래 걸리는 현상 수정
DRM Callback kind 1,2로 전달받은 메시지를 델리게이트로 전달하도록 수정
kind 1: KollusStorage.loadContentURL의 결과(NSError)로 반환
kind 2: kollusStorage:downloadContent:error: 델리게이트의 NSError로 전달
[v2.1.9] - 2015.11.03.
북마크 데이터 유실로 UI에서 Crash 발생되는 현상 수정
[v2.1.8] - 2015.11.03.
KollusType으로 재생시 메모리 누수 현상 수정
컨텐츠 기간만료 처리 시나리오 오류 수정
[v2.1.7] - 2015.11.02.
다운로드 델리게이트가 끊긴 후 다시 연결되는 경우 다운로드 컨텐츠 정보를 업데이트 하는 모듈 추가
Seek시 crash 발생할 수 있는 상황에 대한 방어코드 추가
[v2.1.6] - 2015.10.29.
컨텐츠를 재생하지 않은 상태에서 시간을 미래로 변경시 expire 처리되도록 수정
스트리밍 종교시 다운로드 loadContentUrl 호출시 crash 현상 수정
썸네일 다운로드가 정상적으로 완료되지 않은 경우 에러처리
약전계에서 다운로드 컨텐츠 재생 종료시 데드락 걸리는 현상 수정
[v2.1.5] - 2015.10.27.
재생준비가 되지 않은 상태에서 플레이어 종료시 간헐적으로 crash되는 현상 수정
[v2.1.4] - 2015.10.27.
OpenGL View가 생성되기 이전에 렌더링을 시도하여 crash되는 현상 수정 (재생 시작시)
removeFromSuperView 코드 수행중 crash되는 현상 수정 (재생 종료시)
bookmark data가 clear되어 crash되는 현상 수정 (재생 종료시)
[v2.1.3] - 2015.10.26.
다운로드 컨텐츠의 썸네일이 표시되지 않는 현상 수정
[v2.1.2] - 2015.10.26.
스트리밍 재생후 종료시 delegate가 호출되지 않는 현상 수정
시스템 시간을 과거시간으로 조정한 후 다운로드 컨텐츠 재생시 expire처리
버퍼링 배수 조정 API 추가 (KollusPlayerView.h 참조)
/**
버퍼링 배수 설정
@param bufferingRatio 설정할 버퍼링 배수 (범위: 1~ 10)
@warning prepareToPlayerWithError 메서드 호출 및 성공한 경우에 사용
@warning PlayerTypeKollus인 경우에만 적용됩니다.
*/
(void)setBufferingRatio:(NSInteger)bufferingRatio;
[v2.1.1] - 2015.10.23.
약전계에서 Seek 후 버퍼링 중 플레이어 종료시 지연시간이 긴(2분이상) 현상 수정
유효기간이 지난 컨텐츠를 계속해서 재생 시도하면 crash 되는 현상 수정
-8643 에러발생시 기간만료메시지가 출력되도록 수정
컨텐츠 다운로드 중 스트리밍 재생후 종료시 delegate가 호출되지 않는 현상 수정
[v2.1.0] - 2015.10.22.
컨텐츠 다운로드 중 에어플레인 모드로 변경시 crash되는 현상 수정
스트리밍 재생중 에어플레인 모드로 변경시 crash되는 현상 수정
약전계에서 플레이어 재생 종료시 무한로딩이 반복되는 현상 수정
[v2.0.9] - 2015.10.21.
약전계에서 플레이어 종료시 무한대기 현상 수정
플레이어 종교시 CallStack getBookmarkInfo(unsigned char**, int*)에서 crash되는 현상 수정
[v2.0.8] - 2015.10.21.
컨텐츠 다운로드 중에 기존 다운로드 받은 컨텐츠가 재생되지 않는 현상 수정
LMS, Bookmark, N-Screen callback URL에 접속이 되지 않는 현상 수정
[v2.0.7] - 2015.10.20.
-8682 에러문구 수정
세로화면으로 재생 시작시 영상이 꽉찬 상태에서 작아지는 현상 수정
NativePlayer에서 PlayCallback(return=0)인 경우 에러코드가 8000으로 출력되는 현상 수정
drm-callback, play-callback에서 반환하는 메시지를 NSError에 포함되도록 처리
다운로드 컨텐츠의 drm-callback 결과로 content_expire_reset=1 인 경우 컨텐츠가 재생되지 않는 현상 수정
영상을 줌인 또는 줌아웃한 상태에서 Pause/Play시 화면사이즈가 변경되는 오류 수정
TimeOut 시간 및 Retry 횟수 설정 API 추가
KollusPlayerView 생성 후 다음과 같이 코드를 추가하여 사용
[player setNetworkTimeOut:3];
[storage setNetworkTimeOut:5 retry:3];
[v2.0.6] - 2015.10.16.
NativePlayer에서 원본사이즈로 변경시 화면 사이즈가 튀는 현상 수정
KollusPlayer에서 Device Lock 버튼으로 화면 잠금 후 다시 재생 시 AV Sync 틀어지는 현상 수정
iPhone 4에서 북마크 리스트를 가져오지 못하는 현상 수정
[v2.0.5] - 2015.10.15.
PlayerTypeNative 에서 북마크 추가/삭제 delay 개선
에러코드 1로 출력되는 현상 수정
간헐적으로 북마크 버튼 생성되지 않는 현상 수정
[v2.0.4] - 2015.10.14.
약전계에서 다운로드 컨텐츠 재생 및 종료시 지연시간 개선
-8417 에러 발생 오류 수정 및 네트워크 에러 로그 추가
Lock키 누른 후 다시 재생 시 video reject되는 현상 수정
[v2.0.3] - 2015.10.13.
북마크 외부 데이터 연동 오류 수정 (HTTPS 지원)
[v2.0.2] - 2015.10.08.
LMS 데이터 보안 처리 (LMS Callback v1.6)
PlayerTypeKollus로 스트리밍 재생중 네트워크 단절 후 Seek시 crash 되는 현상 수정
[v2.0.1] - 2015.10.07.
iOS9에서 에러 문자열이 영문으로만 생성되는 오류 수정
NativePlayer에서 swipe시 화면이 사라지는 오류 수정
(iPad mini retina에서 PlayerTypeNative 일 때 제스쳐 동작하면 화면 밖으로 튀는 현상)다운로드 중에 KollusStorage의 contents 배열안의 KollusContent 값이 null이 되는 현상 수정
에어플레인 모드에서 다운로드 컨텐츠 재생시 화면 Lock 현상 수정
네트워크 연결이 불안정할 때 retry횟수 3회 TimeOut 5초로 변경
[v2.0.0] - 2015.09.30.
iOS 내장 플레이어/KollusPlayer를 사용하는 SDK 최초 버전 배포
Table of Contents | ||
---|---|---|
|