Below are all the Builds and change logs SuperCeleron changes to FTMC. As always latest will be at the top of this post
ABOUT FTMC
FTMC is a fork for Kodi and provides hardware acceleration and more features on rockchip mainstream chips(rk3228, rk3229, rk3229h, rk3288, rk3368, rk3399) and most android version(Android4.4, 5.x, 6.x). In the case of hardware allowed, FTMC supports 4K2K、4K2K 10bit(H264,HEVC),MVC 3D (bluray & mkv), high profile audio passthrough. And also maintain Android 4.4 support for older devices, also maintain a better support for Amlogic S9xx Chips, and preserving the amlogic AMCODEC (only on Android version from 4.4 to 6.x, since in 7.x amlogic removed the support for it)
Source Code: https://bitbucket.org/superceleron/ftmc
FTMC x86 16.2.31 -> x86 16.2.31
FTMC Arm General/AML 16.2.31 -> Arm General/AML 16.2.31
FTMC Arm Rockchip 16.2.31 -> Arm Rockchip 16.2.31
Fix Some typos Compile Fixes fixup smb: default to 1 FIX: [smb] if SMB1, then also weak lanman hash CHG: [music db] protect debug spew CHG: [keymap] FF/RW to PgDn/PgUp when not in playback smbclient: cleanup smbclient configuration FIXUP: [windowing] reset fullscreen on resume CHG: [droid] bump sdk to 19 FIX: [depends] disable nettle doc generation CHG: implement info announce for UPnP ADD: [info] new info announce for when infobools are available compatibility with kodi v17 database Some little fixes
FTMC x86 16.2.30 -> not available anymore
FTMC Arm General/AML 16.2.30 -> not available anymore
FTMC Arm Rockchip 16.2.30 -> not available anymore
FIXUP: [upnp] inverted conditions FIXUP: publish NDK level [Fix][Backport]Merge album type and label correctly Ignore FORBIDS_EPG_TAG_ON_CREATE timer types when creating a timer info tag via CreateFromEpg() [settings] fix crash if "<control type="button" format="file"/>" is used Fix MakeShortenPath FTPParse.cpp: use std::string Fix throttling of Musicbrainz requests. [fix][pictures] CID 77607: prevent buffer overflow VAAPI: Explicitely don't open for hevc 10 bit. Some distros package systemwide ffmpeg and their users en up with a black screen for that kind of videos. Fix "VMSF_DELTA filter in unrar allows arbitrary memory write" changed: Default libcurl timeout value to 30 Update some default addons FIX: [droid] native window is always RGBA32 FIX: [droid] do not lock java gui thread FIX: [droid] translate to ascii for sorting As droid NDK does support locale, use iconv to translate utf8 accentuated characters to ascii, e.g â to a FIXUP: custom view - pass DPI DBG: touch events FIXUP: upnp disable option FIXUP: upnp labels [RKCodec] fix hdmi auto switch error when 4K 25hz and 30hz
FTMC x86 16.2.29 -> not available anymore
FTMC Arm General/AML 16.2.29 -> not available anymore
FTMC Arm Rockchip 16.2.29 -> not available anymore
FIXUP: [yadif] CHG: Enable YADIF for arm ADD: ffmpeg deinterlace option + call yadif by its name Fix some permissions again... Allow moving app to SD Card FIX: [GLES;texture] if we have nothing to draw, don't try FIX: Handle removable drives for media window title Added new icons created by [USER="95050"]amsantiago[/USER]
FTMC Arm General/AML 16.2.28 -> not available anymore
FTMC Arm Rockchip 16.2.18 -> not available anymore
Move: Moved from GCC 4.8 to GCC 4.9 as compiler. Added: A new set of icons and a new splash ( by [USER="1424"]tattman65[/USER] ) Added: New background for default skin. ( by [USER="1424"]tattman65[/USER] ) FIX: Fix error on the connection to the kodi repo. Clean&Re-implemented: [filesystem] ZipManager: skip path traversal. ( Zip file exploit fix ) Reverted: "gcc 4.8 doesn't correctly implement std::regex" Reverted: "[filesystem] ZipManager: skip path traversal. (Zip file exploit fix)" Reverted: "Added "A Confluence ZEITGEIST" modded by kerenmac" ( sorry m8 was giving lots of problems :( )
FTMC Rockchip -> THE BUILD IS BROKEN
gcc 4.8 doesn't correctly implement std::regex [filesystem] ZipManager: skip path traversal. (Zip file exploit fix) Fix compile! New versioning system Bump version Added "A Confluence ZEITGEIST" modded by kerenmac
FTMC General/AML Build 26 -> not available anymore
FTMC Rockchip Build 26 -> not available anymore
[FIX] speedup thumb loading Updated some of the default addons! [Fix] Disabled by default some RKCodec specific Options [Extra] Disabled External Player confirmation dialog. Like this theirs no more need to press 'OK' every time it starts/stops the play of a video file! ( Thks mo123 for the tip ;) ) [FIX] Use RKAESinkAUDIOTRACK as default audiotrack on Rockchip devices [RKcore] Fix Min Android API(19) for usage of RKcodec [xbmc] Just a update to the splash logo [MediaCodec] Fix videoBuffer video dimensions [Fix] Fix compilation & parametrization of binary addons [rkcodec]: GetNativeSurface method compatible old firmware [xbmc]: change package name to FTMC. (Ftmc now have its own path "org.xbmc.ftmc/files/.ftmc"and can be used with kodi at the same time) [bump] Build 26 [Fix] Minimal API is 19 (Android 4.4)
FTMC General/AML Build 25 -> General/AML Build 25
FTMC Rockchip Build 25 -> Rockchip Build 25
[RKCodec]: Fast speed playback exceeds a certain threshold using seek [depends] bump python to 2.7.10 [depends] adjust python-pil to python2.7 [depends] remove python2.6 [python] enable SSL cert validation [depends] add python setuptools [depends] add native python-2.7 [depends] bump python to 2.7.11 [depends] bump python to 2.7.12 [depends/python27/ios] - fixed compilation for arm64/bitcode and tvos (by disabeling fork, exec and system) [depends] python27: backport "no abort" from 2.6 [droid] bump python to 2.7 FIX: [python27;droid] re-apply binmodule patch [skin] "A Confluence ZEITGEIST" skin from "axbmcuser" added as default, normal confluence still there if anyone wants it!
FTMC General/AML Build 24 -> General/AML Build 24
FTMC Rockchip Build 24 -> Rockchip Build 24
[Android] From now on API 19(KK 4.4) is the minimum to operate FTMC FIX: deinit *all* global net vfs on stop [RKCodec]: Android7.0 use apk surface mode, rkcodec get surface from apk layout [RKCodec]: add RKCodec_Init2 interface for supportsurface decoder [RKCodec] RK_CodecEnableSurface function to try load RKCodec_Init2 symbol [RKCodec] fix mvc3d switch to 3d can not work [RKCodec] fix crash when switch passthrough sometimes [RKCodec]: dll loader first try librkmcplayer.so then use librkffplayer.so, this will help the user change kodi depend lib but not impact mediaserver and local play. [RKCodec]: In surface mode, use setVideoViewSurfaceRect to set original surface rect [MediaCodec]: Rockchip MediaCodec support H264 10Bitx [MediaCodec]: MediaCodec not support VP6, use software decoder [RKCodec]: init surface rect as display resolution in surface mode [RKCodec]: Add Chinese AVS video decode support only support at RK3328 [DVDPlayer]: Optimizate audio track switching [RKCodec]: set ready status false and clear render updatecallback when stop decoder Revert "[rk mpi] init rk mpi decoder base version" ADD: [curl] CURL variants of Get/Post/Put ADD: [curl] getter for last effective url FIX: CLog::MemDump must use const char* [Libbluray] Fixed ISO Bluray playback.
FTMC General/AML Build 23 -> General/AML Build 23
FTMC Rockchip Build 23 -> Rockchip Build 23
FIX:[list;cache] Don't clear cache if returning ADD: [amc] Implement GetCodecStats Reverted: commit "limit directory cache validity to 1h" FIX: Custom Pixel Ratio c/p monster CHG: set refresh change delay default to 3.0
FTMC General/AML Build 22 -> General/AML Build 22
FTMC Rockchip Build 22 -> Rockchip Build 22
FIX: Confluence Skin FIX: Binary Addons [RKCodec]: Optimize codec and render performance [Setting]: add f4v support FIX: Don't loose subs when switching audio If subs are off and audio is switched, sub is closed forever FIX: Fix issue with "zoomed" GUI in 4K FIX: [amc] proper VP6 mime Reverted "[GUI] Add solid panel option to Confluence" Dont look ok... [rkcodec]: enable physical floating HDMI signal(23.976hz, 59.94hz) Only enable in rk3328, rk3399 [FFMpeg]: Extends ColorTransferCharacteristic for support HDR. [FFMpeg]: Fix MVC found slice
FTMC General/AML Build 21 -> General/AML Build 21
FTMC Rockchip Build 21 -> Rockchip Build 21
FIX: [droid] do register receiver in start and properly unregister [Skin] fix skin setting not support special path [audio]: discard sleep after decode frame, sleep may cause some efficiency problem [RKAudioTrack]: Get IEC61937 from sdk framework on Nougat [stereo]: fix stereo to 2d switch [rkcodec]: optimize Audio&Video sync [DVDPlayerVideoRK]: Only normal speed use by pass policy [Audio&Sync]: set delay default zero, and need m_frame_write larger than get_head_pos CHG: limit directory cache validity to 1h FIX: Database debug spew on demand only ADD: CJNISystemClock::elapsedRealtime [rkcodec]: bypass on cache state attempt 5 times [mpeg1/2] Default open mpeg1/2 in hardware decode FIX: invalidate cache on Media Window init [DemuxRK]: MVC data stream need parser [Stereo]: fix ui graphicscontext Stereo switch error [Setting]: Add .trp video support [GUI] Add solid panel option to Confluence (check skin general tab for the setting) CHG: Allow to (really) disable upnp altogether
FTMC Build 20 -> Build 20
FIX: needs to add Fullscreen to dirty regions for overlays Revert: Ignore MEDIA_BUTTON intent received while not playing aml: Do not force default output device for passtrough Revert "disable_plugin_cache" FIX: [amcs] Rotation [AMLOGIC] (void*) type cast compile fix for 64 bit platforms [JNI] Fix jni local reference leak for jstring ADD: MediaStore static ADD: RESULT_CANCELED
FTMC Build 19 -> Build 19
One more try to fix passthrough in amlogic devices. If this doesn't work i give up since it need some big changes that i cant do now without lossing droid 4 support! FIX: Move RenderManager FrameMove to GUIWindow FIX: [video control] Always render gui FIX: mark rendering controls dirty whether bypass or not [RKCodec] : Get Hevc Color-Trc parameters for supporting HDR [RKCodec]: Add VP9 HW accelarate support, need HW support (3229, 3328, 3399) [dvd] off_t -> off64_t
FTMC Build 18 -> Build 18
FIX: protect async FileItems vs. item gone FIX: passthrough on Amlogic devices (sorry RK guys.. you guys need to stick with FTMC BUILD 17 for now!) log failed texture loading and add guards to prevent caching invalid paths fixed, unpackedFrame is an array, delete it like one fixed, CDVDCodecUtils::AllocatePicture if buffer overflow if width or height is odd fixed, nfs/symlinks. thx memphiz in case we resolve a symlink - don't accidently manipulate the original dirent pointer because the memory belongs to libnfs and it will remember the change. Instead use a copy of the dirent instance - fixes strange behavior in some symlink scenarios. thx to ronbaby for making it reproducable backport, DialogSeekbar should use g_application.GetPercentage() for progress info, PR 11125 FIX: ScriptInvocationManager data race FIX: [amcs] Handle 3D -> 2D Mono
FTMC Build 17 -> Build 17
Merge pull request #547 from guidosarducci/sync-and-fix Refresh rate adjustment and other fixes DBG: log stream changes FIX: close default streams Should Fix RD streams. DBG: log lib open/close FIX: [network;droid] de-abstract PingHost
FTMC Build 16 -> Build 16
FIX: [amc] deny h264/hevc w/o extradata FIX: close stream before trying to re-open it FIX: [amc] use display width returned by codec FIX: [amc] sleep a bit after clearing surface Leaves time for the surface to be actually cleared, or it could be locked
FTMC Build 15 -> Build 15
Bugfix in HQ scalers, now amcodec should be a lot smoother!
Changelog:
CHG: [amc] hints debugging FIX: [droid] trap null CJNIStatFs FIX: prevent wakelock log spam FIX: delay de-intializing vfs until after scripts are done smb access from scripts after smb.Deinit() -> crash Simplify display mode handling and make it work correctly for kernels >= 3.14 Since kernel 3.14 Amlogic changed some of the display mode IDs, e.g. before kernel 3.14 1080p 60Hz display mode had an ID of 1080p, but in kernel 3.14 it was changed to 1080p60hz. This commit allows to handle display modes for all Amlogic kernels in universal way. FIX: [droid;dyload] never dyload dependent sytem libs ADD: Publish the initialized state of CApplication FIX: [droid;egl] be sure we have a window before setting geometry aml: Drop frames if requested by VideoPlayer
FTMC Build 13 -> Build 13
Changelog:
[hdmi] fix hdmi 3d switch [rk mpi] init rk mpi decoder base version [logging] close extra log print ADD: [xsp] filter by originaltitle Revert "CHG: [droid;amc] only give priority to surface in 4K" Now that the most bothersome limitations of surface are fixed, revert to giving it prority Display milliseconds in log file FIX: [droid] use CLOCK_MONOTONIC, as OS FIX: [amc] no need to update texture when discarding buffer FIX: [amc] initialize m_codec changed, expand zerba check to all platforms core: fixed ZebraListAccessCheck, need to compare paths using results from realpath, else they might not match GUIFontTTFGL: Fix texture leak in subtitles With mkv file with S_TEXT/UTF8, we leak one texture of 1024x64x32bpp (256K) for every file that is played. DVDOverlaySSA: Fix Leak with SSA subtitles This fixes the long standing memory leak: [URL]http://trac.kodi.tv/ticket/15820[/URL] CDVDSubtitlesLibass is reference counted and only releases libass reasources (typically hundreds of MBs) when count gets to zero. But the resource is incorrectly acquired after being created with a reference count of zero, so is never released.
FTMC Build 12 -> Build 12 enjoy.
Changelog:
[AndroidDyload]: fix crash when dlopen fail in close function [AudioTrack]: Add Android6.0 IEC61937 define upstream sync, fixed: Low readrate error toast could show when performing e.g. small stepping core: add http DELETE handling [fix] crash on UnShuffle ... davilla says : std::sort requires a sort function that creates a strict-weak ordering fixed, big seek is like a chapter, also do a m_callback.OnPlayBackSeek there too fixed, closed caption for EIA-608/EIA-708. Not sure how this ever worked. Finding a cc stream then calling OpenDefaultStreams(false) will delete/create m_pCCDemuxer so m_pCCDemuxer->GetStream(pkt->iStreamId) fails as there are no CC streams anymore FIX: [droid;egl] quirk is not needed and problematic fixed, mem leak. need to release the msg here as nothing else will handle it FIX: [rar] deadlock with cbr + net vfs (credit @notspiff) FIX: [jpegio] return original size [WIP] Proper eComics mode ADD: [droid;key] channel up/down
FTMC Build 11 -> Build 11
Changelog:
Updates to librtmp - KSV Fixes FIX: better Randomize() FIX: remove all random_shuffle FIXUP: randomize FIX: [droid] don't try /proc/self/exe (selinux) [VP6] send VP6 to soft decoder [Thumb] when video is playing do not extract thumb [Audio] after decode audio frame sleep 1ms [Thread] set thread name for some threads FIX: [droid] enable system screensaver everywhere DVDVideoCodecAmlogic: Do not H/W decode 10-bit HEVC if hardware doesn't support it DVDVideoCodecAmlogic: Add more unsupported H264 formats to HW decoding blacklist 10bit video do not extract video thumb, because of need use more memory for ffmpeg decoder, make cause out of memory [video/rm] fix some video rm file could not play
FTMC Build 10 -> Build 10
Changelog:
DVDVideoCodecAmlogic: Do not H/W decode Hi10P h264 [GUIFont] - the BufferHandle is a GLUInt for gl and gles and a void * for dx [GUIFont] - fixed warning about BufferHandle initialisation [GUIFont] - make BufferHandle explicit GLuint, use initializer consistently FIX: DT_SONAME warning [FIX] Ignore MEDIA_BUTTON intent received while not playing disable plugin caching FIX: [droid] never try to do a lib copy FIX: [droid] libmodplug.so was missing since... ever FIX: [droid] more DT_SONAME [FIX]: fixed crash, GetStereoModeFlags. In odd cases, mode can be empty disable screensaver if slideshow is playing, tvos/android
FTMC Build 9
Changelog:
Revert "Add a demuxer that manages demuxing of multiple streams/files at once. FIXUP: only trigger resync if audio is really starved ADD: [addon;repo] add "xbmc.addon.datasource" extension to specifiy source per addon This allows to source the addons from their respective github repo FIX: [droid] trap case when an event device id is not found Shouldn't happen, but it does, apparently... FIX: ensure real filename from videodb in playlists FIX: protect our GUID CHG: [amc] Surface priority only if vid size > gui size FIX: redact user/passwd from advancedlogging debug log Make CEGLNativeTypeAmlogic compatible with Amlogic S905 SoC running kernel 3.14.
Build 9 Confluence
Build 9 AeonNox
FTMC Build 8 -> More code ported from spmc, thks koying for the code!
Build 8
Changelog:
FIXUP: GLES HQ scalers warning CHG: add streaminfo string to all streams CHG: [bitstreamstats] allow to force a calculation (if < 2 sec) VideoPlayer: refactor enable/disable demux streams Add a demuxer that manages demuxing of multiple streams/files at once. removed boost for good CHG: get rid of boost multi_index CHG: get rid of boost circular_buffer FIX: no stoi remove boost::lexical_cast steal sha1 from boost, another boost-izum dies FIX: Only give error loading addon settings if there actually are some to load
Build 6
Comment