• 1(current)
  • 2
  • 3
  • 4
  • 5
  • 12
  •   
Support Thread for MediaCodec
#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.
Reply
#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
Reply
#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.
Reply
#4
Here it is . Hope it has enough info
Reply
#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.
Reply
#6
logcat to see why the mediacodec failed
Reply
#7
I don´t know what you mean with logcat, sorry.
Is it this logfile?
Reply
#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
Reply
#9
no, I'm really resisting advancedsettings.xml tweaks, I'd like to see if there is a runtime way to determine it.
Reply
#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.
Reply
#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.
Reply
#12
tonight's build should have more debug logging.
Reply
#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.
Reply
#14
is Advanced Simple Profile @ Level 5 ([email protected]) good enough to test for ?
Reply
#15
(2013-10-15, 09:23)davilla Wrote: is Advanced Simple Profile @ Level 5 ([email protected]) good enough to test for ?
IIRC, qpel/gmc is part of [email protected], 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.
Reply
  • 1(current)
  • 2
  • 3
  • 4
  • 5
  • 12
  •   
 
Thread Rating:
  • 5 Vote(s) - 4 Average



Logout Mark Read Team Forum Stats Members Help
Support Thread for MediaCodec45