0.2.1 (2020-10-10)
- activedecoder: use AF_PKT_FLAG_KEY to detect a key frame (cd6df81)
- android: change UPDATE_CURRENT_POSITION value not zero , will conflict with post message (cb9389d)
- AppleVideoToolBox: fix err in backgroud recoverage (2129643)
- audioTrackRender: flush audioTrack before overflow (a1c7682)
- audioTrackRender: make thread safe (93d4fa7)
- avformatdemuxer: reset the avio status after interrupt (29e3857)
- avformatdemuxer: try to get start_time when invalid (80f2436)
- cache: add cache result callback. (3ec4d21)
- cache: delete tmp file when stop (35b6674)
- cache: pass StreamMeta vector pointer (31813cc)
- cache: stop cache when seek in cache (fecf86a)
- cacheModule: fix memleak (962e7ac)
- curl_data_source: set file size to 0 when file size unknown (75879e7)
- decoder: hardware decoder not support if format is yuv422 (6fecf02)
- demuxer: avoid access null mCtx->pb (71f6d80)
- demuxer: Prevent StreamMeta being nullptr (036f137)
- ffmpeg_utils: use dar in stream first (d02a118)
- filteraudiorender: calculate the out frame nb_samples (ba126a9)
- frameCb: cache depends on this callback. need find another way (09637b0)
- GLRender: call glUseProgram when program changed (6020c0e)
- GLRender: drop a frame when view is null (6b3125a)
- GLRender: null point crash (589c07c)
- hlsstream: don't send error when seek pos= duration (e996d96)
- hlsstream: start form the right index when live switching (5293f19)
- ios: use UIApplicationStateBackground to detact bg status (cab40e5)
- jni: delete local ref (01cc6e0)
- mediacodec: delete jni local reference (5c86ed6)
- mediacodec: reset width and height to videoInfo (400049c)
- mediaplayer: clear message after flush video render (e911189)
- mediaplayer: fix miss out start message (8ce5215)
- OESRender: gl background be set to black (fcda864)
- player: don't wait for video frame if in background (4bda5ba)
- render: block surface changed before render finished (8c68833)
- render: change int to float to avoid precision loss (526f199)
- render: make sure video render be paused in background (1802dd5)
- render: update video background color if changed when pause (0becd1e)
- SdlAFAudioRender: calculate the frame duration (7c48f5e)
- subtitleDemuxer: set current to begin at first get subtitle packet (cde8f98)
- subTitlePlayer: wait the adding finished on exit (0783c6a)
- supermediaplayer: fix pos error on seek (2f76533)
- supermediaplayer: fix pos jump when accurate seek (a991eb3)
- supermediaplayer: fix report error logic (ae1b38e)
- supermediaplayer: fix wrong deltaTimeTmp increase logic (5f8cfb6)
- supermediaplayer: restart the audio render on create (c9be856)
- supermediaplayer: update position when seek end (4a72906)
- supermediaplayer: use position to seek subplayer (73ec407)
- superMediaPlayer: add lock when call GetProperty (647c08b)
- check audio EOS work around (357c0a7)
- ActiveDecoder: drop logic effective hevc only (5372c05)
- ActiveDecoder: drop the CORRUPT packet (d40fc47)
- AppleVideoToolBox: fix dead lock when bg (c822566)
- AppleVideoToolBox: fix reorder hevc pts (80887fd)
- av1: disable av1 build (8d571db)
- avcodecDecoder: update pts on decode (b68426b)
- avFormatDemuxer: can play concat (0cfc4f6)
- cache: reset StreamMeta type after get. (c27561c)
- CheaterAudioRende: change reset to set 0 to mClock (f1b6371)
- cicadaPlayer: fix on error crash in travis env (da92089)
- curl: fix hls play crash (5271362)
- data_source: update CURLConnection file size (747646e)
- demo: fix config source (f2f74d5)
- demuxer: reduce cpu usage when need retry (1c89c09)
- drop: compare position to seekPos (d43a225), closes #24957385
- ffmpeg_utils: set the fps meta to steam (68afe48)
- filterAudioRender: use volatile to avoid out-of-order execution (f57bb58)
- GLRender: remove old program when create OES surface (46b5bd5)
- HLSManager: first seek video or mix steam (ed5063f)
- HLSManager: fix logic of reading use index (999299b)
- HlsParser: fix get stream type error (31e8172)
- HlsParser: support EXTXMEDIA without uri (68da2ac)
- HLSSampleAesDecrypter: return on find startcode error (9c5a187)
- HLSStream: fix crash when webvtt no X-TIMESTAMP-MAP (ed5e311)
- HLSStream: get the ringht steam meta opened (91355f2)
- HLSStream: improve subtitle seek (7cc6587)
- HLSStream: reopen demuxer on read after stop (f4a636b)
- HLSStream: reset mInitSegPtr in upDateInitSection (5839fac)
- media_packet_queue: fix get key frame logic (3318748)
- MediaCodec: get right width and height (ca1dd84)
- mediaplayer: description length over 256 when getOption (5cc1b00)
- mediaPlayer: avoid video jump when catch up (f0c4e75)
- mediaPlayer: use the right id in SwitchStreamAligned (e3005be)
- mediaPlayer: use the right id in switchVideoStream (e99f30e)
- muxer: add rotate meta to video stream (0d3db42)
- player_msg_control: add lock (a26ff3a)
- render: don't need redraw when nothing be changed (0f16185)
- SuperMediaPlayer: close the right video stream (4487e82)
- SuperMediaPlayer: fix crash in setup av path (cce5cd0)
- SuperMediaPlayer: update duration on ReadPacket (871c3a6)
- utils: init ffmpeg once (f823d27)
- Render: dont call updateTexImg() when frame not available, fix blank screen (0007970)
- Render: render frame when window not changed if player pause (adf3758)
- supermediaplayer: use sync video pts to detect pts revert (627b11c)
- vsync: do not use android vsync because of compatibility issue (4cacc83)
- yuvRender: uvWidth may not right in some iOS simulators. (e4f89ca)
- AESEncrypt: add avAESEncrypt (ea5dbfd)
- afpacket: support isProtected api (a390893)
- android: add maxAccurateDelta api (31ba7ec)
- android: add exo external player support (150381d)
- android: add global setting (50a8a55)
- android: add probe by name (95c2ad9)
- android: add set hevc black list api (d5823c4)
- android: add setFastStart api (f2d85e9)
- android: add setIpResolveType api (c8f9a73)
- android: add setVideoBackground api (d84fa99)
- android: create player by name (07c2456)
- anlystic: support set external collector (b664e13)
- Apple: add interface for CicadaAudioSessionDelegate (0d8b537)
- Apple: support set CicadaRenderDelegate (839f3a0)
- AudioRender: support set CicadaAudioSessionDelegate (bcbaae7)
- avafpacket: support AVAFPacket to PBAFFrame (7686348)
- build: support build AV1 with source code (756b399)
- build_tools: add build version print in shared lib (d14e394)
- build_tools: support native openssl (a0e6e16)
- cicadaconfig: add liveStartIndex config (b9f1569)
- cmdline: add percentage seek (8c5628f)
- cmdline: add syncPlayer example (8a26c6b)
- cmdline: support set native window and sdl window to sdl render (b68e37b)
- codec: support dav1d with set external lib (1c50acf)
- codec: support vp8 vp9 opus (70041a1)
- content: support android content protocol (92805b1)
- curl: support http post (d988bad)
- curl_data_source: supprot muti connect (0b2496a)
- data_source: add api to set ipv4/6 (d7c927a)
- data_source: support open with range (428f79b)
- dca: add DCA direct component access (2e948b8)
- decrypto: add decrypto interface (970750f)
- demo: add sync player (6177474)
- Demo: add sample code of CicadaAudioSessionDelegate (02cf374)
- demuxer: player will callback the drm media data when DRMMagicKey is Valide (7e33121)
- external: add flvdec aliyun extend audio codec id in ffmpeg (e441e32)
- external: flv support hevc (6180d52)
- ffmpeg: enable dash demuxer (9a7c5a6)
- framework: add communication tools (f84c186)
- framework: add ffmpeg video filter (470d557)
- hls: parse first dts on start and seek (8bc4386)
- HlsParser: support EXT-X-BYTERANGE tag (a232ae7)
- HLSStream: reuse the demuxer meta (fa37a8f)
- HLSStream: support hls id3 pts (3195e0d)
- HLSStream: support parse webvtt pts (4b1b7bc)
- HLSStream: support seg with range (ac345e9)
- iafpacket: add setProtected api (8ff9bf0)
- iOS: add decoder recover size warning event (b598575)
- iOS: add getOption interface (f42a468)
- iOS: add interface to sync player (d02f881)
- iOS: add maxAccurateDelta api (1bdfe3a)
- iOS: add select subtitle error event (d8c0a60)
- iOS: add SetDefaultBandWidth interface (bb41c9a)
- iOS: add setDNSResolve interface (35d4f06)
- iOS: add VideoRendered delegate (9d71f4c)
- mac: add sync player (c854037)
- mediaplayer: add api to set fast start mode (02c495f)
- mediaplayer: add dummy externalPlayer impl for jni and apple (d7ce718)
- mediaplayer: add InvokeComponent api (79278d1)
- mediaplayer: add liveStartIndex config (431495e)
- mediaplayer: add liveStartIndex option (bfb3a31)
- mediaplayer: add set streamTypes api (8b69ab3)
- mediaplayer: add setClockRefer api (96837a7)
- add a event to notify video recover size too large (8713fc5), closes #118
- add videoRendered callback (6c5768b)
- clear all ips under the host when remove ip is empty (67c1aba)
- mediaplayer: add maxAccurateSeekDelta option (ec31796)
- mediaplayer: add OnRenderFrame callback (2d46589)
- mediaplayer: add pixelBufferOutputFormat config for apple platform (1048145)
- mediaplayer: add SetIPResolveType api (126e368)
- mediaplayer: get bLowLatency from demuxer (65da9a7)
- mediaplayer: imple mediaPlayerDCA (bd9dae7)
- mediaplayer: not return buffer when secret playback (b26f337)
- mediaplayer: support not render video when frame callback is set (5983d82)
- mediaplayer: use Prototype (0bfd9b9)
- platform: add DCA event api (1913f6d)
- player: set player pointer (4c7ffd8)
- render: add audio rendering callback, return audio data that has processed (6ba6696)
- Render: add yuv422 support (fe4c440)
- supermediaplayer: support buffer in demuxer (94b08d2)
- add android VideoRenderCallbac api (3dcc7cc)
- add setBackgroundColor (3bdb7ef)
- hls support fmp4 (4e6f79d)
- set clear screen color (12cb58b)
- support Cheater render (58c19b4)
- filteraudiorender: fix busy loop (cd53dd3)
- update unique_lock to lock_guard (2fe006d)
- ActiveDecoder: speedup lock usage (bc72c04)
- AppleVideoToolBox: speedup recovering (70d89b9)
- Revert "improvement(demuxer): make GetStreamMeta thread safe" (b1177d2)
- Revert "refactor(player): use getAudioPlayTimeStamp to check delay" (d1a831c)
- Revert "refactor(framework): add codec id for packet" (4e02b04)
- Revert "fix: update duration when prepare" (38d3d85)
0.1.0 (2020-02-25)
first release