Support Thread for MediaCodec

  Thread Rating:
  • 5 Votes - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #1
Title says it all and I will want xbmc.log for all issue posts. No xbmc.log, no soup as they say Smile

MediaCodec can run two ways, with surface rendering (default), with sw rendering (quirked). Right now Odroid is the only Android firmware that is quirked. Others can be too but there needs to be feed back as to which ones need it. Once we get more info then we can possibly runtime detect which devices need it and which do not.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
(This post was last modified: 2013-10-13 16:59 by davilla.)
find quote
pmoreira1 Offline
Junior Member
Posts: 10
Joined: Jun 2013
Reputation: 0
Post: #2
Hi there,

Just tried the nightly xbmc-20131012-72a7730-master-armeabi-v7a.apk and when using media codec I get 5secs of video, then it freezes. Subtitles and audio keep running with no problem, only video freezes completely. This happens with 720p and SD content.
I'm running xbmc on MK809II RK3066 (Justop K9B) with stock 4.2.2 ROM

xmbc.log here

Hope it helps,

Keep up the good work
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #3
ERROR: CDVDMediaCodecInfo::ReleaseOutputBuffer ExceptionOccurred render(1)

but no info as to what the exception was. logcat would be nice to see if you can get it.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
pmoreira1 Offline
Junior Member
Posts: 10
Joined: Jun 2013
Reputation: 0
Post: #4
Here it is . Hope it has enough info
find quote
sinuhe09 Offline
Junior Member
Posts: 6
Joined: Feb 2013
Reputation: 0
Post: #5
I tested with Minix Neo G4 (same chip as X5 - rk3066) and newest original Rom 4.2.2 (Date 09-11-13) with xbmc nightly build 6th of October. Ist is stuttering horrible with 720 and 576 vids (1080 not tested) avi and mp4...
No other apps installed, only naked rom and xbmc with default settings (libstagefright off, MediaCodec on).

It seems that there is a problem handling the MediaCodec (see following log-file):


07:41:01 T:1661119056 NOTICE: special://profile/ is mapped to: special://masterprofile/
07:41:01 T:1661119056 NOTICE: -----------------------------------------------------------------------
07:41:01 T:1661119056 NOTICE: Starting XBMC (13.0-ALPHA9 Git:20131006-a451f13). Platform: ARM Android 32-bit
07:41:01 T:1661119056 NOTICE: Using Debug XBMC x32 build, compiled Oct 7 2013 by GCC 4.7.0 for ARM Android 32-bit API level 14
07:41:01 T:1661119056 NOTICE: Running on Linux 32-bit (Android, 3.0.36+ armv7l)
07:41:01 T:1661119056 NOTICE: Host CPU: ARMv7 Processor rev 0 (v7l)
, 2 cores available
07:41:01 T:1661119056 NOTICE: Default DVD Player: dvdplayer
07:41:01 T:1661119056 NOTICE: Default Video Player: dvdplayer
07:41:01 T:1661119056 NOTICE: Default Audio Player: paplayer
07:41:01 T:1661119056 NOTICE: Disabled debug logging due to GUI setting. Level 0.
07:41:01 T:1661119056 NOTICE: CMediaSourceSettings: loading media sources from special://masterprofile/sources.xml
..
..
...
09:07:15 T:1913601360 NOTICE: Opening video stream: 0 source: 256
09:07:15 T:1913601360 DEBUG: StereoscopicsManager: Detected stereo mode in string '/mnt/usb_storage/USB_DISK0/TOSHIBA EXT/Videos/Alles/1 1 2 Ritter/1 1 2 Ritter.avi' is 'mono'
09:07:15 T:1913601360 NOTICE: Creating video codec with codec id: 28
09:07:15 T:1913601360 DEBUG: CDVDFactoryCodec: compiled in hardware support: CrystalHD:no AMCodec:no MediaCodec:yes OpenMax:no libstagefright:yes VDPAU:no VAAPI:no
09:07:15 T:1913601360 INFO: MediaCodec Video Decoder...
09:07:15 T:1913601360 DEBUG: FactoryCodec - Video: mediacodec - Opening
09:07:15 T:1913601360 DEBUG: FactoryCodec - Video: amc-h264 - Failed
09:07:15 T:1913601360 DEBUG: FactoryCodec - Video: - Opening
09:07:15 T:1913601360 DEBUG: SECTION:LoadDLL(libpostproc-52-arm.so)
09:07:15 T:1913601360 DEBUG: Loading: /data/app-lib/org.xbmc.xbmc-1/libpostproc-52-arm.so
09:07:15 T:1913601360 DEBUG: SECTION:LoadDLL(libswresample-0-arm.so)
09:07:15 T:1913601360 DEBUG: Loading: /data/app-lib/org.xbmc.xbmc-1/libswresample-0-arm.so
09:07:15 T:1913601360 DEBUG: SECTION:LoadDLL(libavfilter-3-arm.so)
09:07:15 T:1913601360 DEBUG: Loading: /data/app-lib/org.xbmc.xbmc-1/libavfilter-3-arm.so
09:07:15 T:1913601360 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
09:07:15 T:1913601360 DEBUG: FactoryCodec - Video: ff-h264 - Opened
09:07:15 T:1908462704 DEBUG: CVideoReferenceClock: no implementation available
09:07:15 T:1908462704 DEBUG: CVideoReferenceClock: Setup failed, falling back to CurrentHostCounter()
09:07:15 T:1913601360 NOTICE: Creating video thread
09:07:15 T:1908462704 NOTICE: running thread: video_thread
09:07:15 T:1913601360 NOTICE: Opening audio stream: 1 source: 256
09:07:15 T:1913601360 NOTICE: Finding audio codec for: 86017
09:07:15 T:1913601360 DEBUG: FactoryCodec - Audio: libmad - Opening
09:07:15 T:1913601360 DEBUG: SECTION:LoadDLL(libmad.so)
09:07:15 T:1913601360 DEBUG: Loading: /data/app-lib/org.xbmc.xbmc-1/libmad.so
09:07:15 T:1908462704 DEBUG: CDVDPlayerVideo - CDVDMsg::GENERAL_SYNCHRONIZE
09:07:15 T:1913601360 DEBUG: FactoryCodec - Audio: libmad - Opened
09:07:15 T:1913601360 NOTICE: Creating audio thread
09:07:15 T:1913601360 DEBUG: bool CEdl::ReadEditDecisionLists(const CStdString&, float, int) - Checking for edit decision lists (EDL) on local drive or remote share for: /mnt/usb_storage/USB_DISK0/TOSHIBA EXT/Videos/Alles/1 1 2 Ritter/1 1 2 Ritter.avi
09:07:15 T:1913601360 DEBUG: virtual void CApplication::OnPlayBackStarted() : play state was 1, starting 1
09:07:15 T:1913601360 DEBUG: CDVDPlayer::SetCaching - caching state 3
09:07:15 T:1908462704 INFO: CDVDPlayerVideo - Stillframe left, switching to normal playback
09:07:15 T:1908462704 DEBUG: ffmpeg[71C0D470]: [h264] Using externally provided dimensions


Do you need the complete log-File or is this fragment enough?

Any Suggestions what to do?
Thx.
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #6
logcat to see why the mediacodec failed


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
sinuhe09 Offline
Junior Member
Posts: 6
Joined: Feb 2013
Reputation: 0
Post: #7
I donĀ“t know what you mean with logcat, sorry.
Is it this logfile?
find quote
manelscout4life Offline
Junior Member
Posts: 4
Joined: Oct 2013
Reputation: 0
Post: #8
(2013-10-13 16:49)davilla Wrote:  Title says it all and I will want xbmc.log for all issue posts. No xbmc.log, no soup as they say Smile

MediaCodec can run two ways, with surface rendering (default), with sw rendering (quirked). Right now Odroid is the only Android firmware that is quirked. Others can be too but there needs to be feed back as to which ones need it. Once we get more info then we can possibly runtime detect which devices need it and which do not.

How can we change from surface rendering to sw rendering? I'm assuming it's going to to be a line in advanced settings.xml
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #9
no, I'm really resisting advancedsettings.xml tweaks, I'd like to see if there is a runtime way to determine it.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
Koying Offline
Team-Kodi Member
Posts: 1,974
Joined: Sep 2008
Reputation: 44
Location: Brussels, Belgium
Post: #10
Well, surface rendering *should* always work, unless the implementation is borked.
Hard to detect, so it probably can only be quirks and/or AS.
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #11
'should' is the key word. It's borked for Odroid which is basically Samsung and that surprised the hell out of me. They have a 4.2.2 coming in a few weeks and I'll retest then.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #12
tonight's build should have more debug logging.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
Koying Offline
Team-Kodi Member
Posts: 1,974
Joined: Sep 2008
Reputation: 44
Location: Brussels, Belgium
Post: #13
(2013-10-15 02:27)davilla Wrote:  'should' is the key word. It's borked for Odroid which is basically Samsung and that surprised the hell out of me. They have a 4.2.2 coming in a few weeks and I'll retest then.
Yeah, I read about it. Point is that you can't smart-detect something broken.

BTW, MP4 on T3 does not support qpel nor gmc (official nvidia; haven't tested on T4, yet). If you find a way to quirk only those out, that.'d be great. On libstagefright, I quirk out the whole MP4 because I couldn't.
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,478
Joined: Feb 2008
Reputation: 64
Post: #14
is Advanced Simple Profile @ Level 5 (ASP@L5) good enough to test for ?


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
Koying Offline
Team-Kodi Member
Posts: 1,974
Joined: Sep 2008
Reputation: 44
Location: Brussels, Belgium
Post: #15
(2013-10-15 09:23)davilla Wrote:  is Advanced Simple Profile @ Level 5 (ASP@L5) good enough to test for ?
IIRC, qpel/gmc is part of ASP@L5, but nvidia didn't implement it, so no, unless you just want to narrow the blacklisting.

T3 has no problem soft decoding any mp4, though.
find quote
Post Reply