Debugging - nova-video-player/aos-AVP GitHub Wiki

ADB logs

In order to install adb follow this XDA guide. For amazon firestick devices some instructions are provided thereto set up adb. Get nova specific logs via [logcat] (https://developer.android.com/studio/command-line/logcat)

  • under linux/macos using bash shell: adb logcat --pid=$(adb shell pidof -s org.courville.nova) 2>&1 | tee build.log (this should work on Linux/MacOS/Windows WSL via powershell)
  • under Windows powershell: adb logcat --pid=$(adb shell pidof -s org.courville.nova) |& tee build.log
  • under Windows Command Prompt (CMD) prompt: for /f %p in ('adb shell pidof -s org.courville.nova') do adb logcat --pid=%p > build.log 2>&1

Multimedia debugging

adb shell cat /vendor/etc/media_codecs_*.xml
adb shell dumpsys media.player
  • for audio passthrough issues please report adb shell dumpsys media.audio_policy
  • relevant logs when playing the file on the device can be extracted using adb logcat -v brief | grep -i -E "avos|mediacodec|omx|audio"
  • multimedia native core can be debugged via options using CLI tool av.sh
  • video av.sh dbgv 2 (look at buffer fill [ 0%])
  • buffer size av.sh smb
  • stream av.sh dbgs 2
  • others dbgcv dbgp dbgmng dbgsub dbgy dbgm dbgca
  • audio av.sh dbgca 2

slf4j/logback debug infrastructure

Starting with v5.15.16 version, nova uses slf4j and logback-android debug infrastructure allowing to activate logs on release app when needed through pushing a logback.xml specific configuration file in /sdcard/Android/data/org.courville.nova/files/logback/ via (note that the correct path has been fixed with nova version v6.3.29):

adb push logback.xml /sdcard/Android/data/org.courville.nova/files/logback/logback.xml

An exemple of such a file can be found here: logback.xml. In order to get logs you need to edit the logback.xml file and switch the debug verbosity from INFO to DEBUG or TRACE when appropriate. Logs will be shown to logcat appender and not saved in the debug.log file unless you add LOG_FILE appender to the class you want to debug. After force stop nova and relaunch of nova, it should generates logs and you can pull them via:

adb pull /sdcard/Android/data/org.courville.nova/files/logback/debug.log

To stop all logs to be generated you can:

adb shell rm /sdcard/Android/data/org.courville.nova/files/logback/logback.xml

SMB jcifs-ng debugging

When debugging SMB jcifs-ng you can use this specific file: logback-smb.xml (you will need to rename it to logback.xml before pushing it to the device via adb as explained above).

Get a dump of nova media database

To dump nova mediaDb you can click 10 times on the nova settings->software decoding, it will enable more options, one of them at the end of the settings list being media database export. You will need to pull it from internal storage located in /sdcard/org.courville.nova-media.db on v5 but located in /sdcard/Android/org.courville.nova/files/org.courville.nova-media.db on v6.