#!/bin/sh show_help() { echo "Usage: $0 [-m MEDIAHAL_LOGGER_LEVEL] [-t TSPLAYER_DEBUG_LEVEL] [-r VIDEO_RENDER_LOG_LEVEL] [-d AMTSPLAYER_DEMUX_PTS_DEBUG] [-a AMCODEC_USERDATA_DEBUG] [-p AMCODEC_PTSSERVER_DEBUG] [-v AMCODEC_VDA_DEBUG_LEVEL] [-h]" echo " -m MEDIAHAL_LOGGER_LEVEL,default is 3" echo " -t TSPLAYER_DEBUG_LEVEL,default is 0" echo " -r VIDEO_RENDER_LOG_LEVEL,default is 2" echo " -d AMTSPLAYER_DEMUX_PTS_DEBUG,default is 0;if 1,will open dmx driver debug" echo " -a AMCODEC_USERDATA_DEBUG,default is 0" echo " -p AMCODEC_PTSSERVER_DEBUG,default is 0;if 1,will open pts_srv decoder media_sync driver debug" echo " -v AMCODEC_VDA_DEBUG_LEVEL,default is 0" echo " -s stop last $(basename $0) and logcat" echo " -h Show help information" exit 1 } stop_func() { echo "stop last $(basename $0) and last logcat" PIDS=$(pgrep -f $(basename $0)) CURRENT_PID=$$ for PID in $PIDS; do if [ "$PID" != "$CURRENT_PID" ]; then echo "kill the last $(basename $0) pid:$PID cur_pid:$CURRENT_PID"; kill $PID; fi done echo "kill last logcat" pkill -f logcat; sync; } #more than one parameter must be checked if [ $# -lt 1 ]; then echo "Error: Enter at least one parameter." show_help fi #default value MEDIAHAL_LOGGER_LEVEL=3 TSPLAYER_DEBUG_LEVEL=0 VIDEO_RENDER_LOG_LEVEL=2 AMTSPLAYER_DEMUX_PTS_DEBUG=0 AMCODEC_USERDATA_DEBUG=0 AMCODEC_PTSSERVER_DEBUG=0 AMCODEC_VDA_DEBUG_LEVEL=0 while [ $# -gt 0 ]; do case "$1" in -m) MEDIAHAL_LOGGER_LEVEL=$2 echo "-m set MEDIAHAL_LOGGER_LEVEL=$MEDIAHAL_LOGGER_LEVEL" shift ;; -t) TSPLAYER_DEBUG_LEVEL=$2 echo "-t set TSPLAYER_DEBUG_LEVEL=$TSPLAYER_DEBUG_LEVEL" shift ;; -r) VIDEO_RENDER_LOG_LEVEL=$2 echo "-r set VIDEO_RENDER_LOG_LEVEL=$VIDEO_RENDER_LOG_LEVEL" shift ;; -d) AMTSPLAYER_DEMUX_PTS_DEBUG=$2 echo "-d set AMTSPLAYER_DEMUX_PTS_DEBUG=$AMTSPLAYER_DEMUX_PTS_DEBUG" shift ;; -a) AMCODEC_USERDATA_DEBUG=$2 echo "-a set AMCODEC_USERDATA_DEBUG=$AMCODEC_USERDATA_DEBUG" shift ;; -p) AMCODEC_PTSSERVER_DEBUG=$2 echo "-p set AMCODEC_PTSSERVER_DEBUG=$AMCODEC_PTSSERVER_DEBUG" shift ;; -v) AMCODEC_VDA_DEBUG_LEVEL=$2 echo "-v set AMCODEC_VDA_DEBUG_LEVEL=$AMCODEC_VDA_DEBUG_LEVEL" shift ;; -h) show_help exit 0 ;; -s) stop_func exit 0 ;; *) show_help exit 1 ;; esac shift # move to next param done stop_func echo "mediahal:setprop MEDIAHAL_LOGGER_LEVEL $MEDIAHAL_LOGGER_LEVEL,\ setprop TSPLAYER_DEBUG_LEVEL $TSPLAYER_DEBUG_LEVEL,\ setprop VIDEO_RENDER_LOG_LEVEL $VIDEO_RENDER_LOG_LEVEL,\ setprop AMTSPLAYER_DEMUX_PTS_DEBUG $AMTSPLAYER_DEMUX_PTS_DEBUG,\ setprop AMCODEC_USERDATA_DEBUG $AMCODEC_USERDATA_DEBUG,\ setprop AMCODEC_PTSSERVER_DEBUG $AMCODEC_PTSSERVER_DEBUG,\ setprop AMCODEC_VDA_DEBUG_LEVEL $AMCODEC_VDA_DEBUG_LEVEL;"\ > /sys/class/resource_mgr/res_sys_debug; #printf all params #echo "MEDIAHAL_LOGGER_LEVEL=$MEDIAHAL_LOGGER_LEVEL" #echo "TSPLAYER_DEBUG_LEVEL=$TSPLAYER_DEBUG_LEVEL" #echo "VIDEO_RENDER_LOG_LEVEL=$VIDEO_RENDER_LOG_LEVEL" #echo "AMTSPLAYER_DEMUX_PTS_DEBUG=$AMTSPLAYER_DEMUX_PTS_DEBUG" #echo "AMCODEC_USERDATA_DEBUG=$AMCODEC_USERDATA_DEBUG" #echo "AMCODEC_PTSSERVER_DEBUG=$AMCODEC_PTSSERVER_DEBUG" #echo "AMCODEC_VDA_DEBUG_LEVEL=$AMCODEC_VDA_DEBUG_LEVEL" node_a="/sys/module/dvb_demux/parameters/debug_ts_output" node_b="/sys/module/amlogic_dvb_demux/parameters/debug_ts_output" if [ "$AMTSPLAYER_DEMUX_PTS_DEBUG" -eq 1 ]; then echo "AMTSPLAYER_DEMUX_PTS_DEBUG is 1,open demux driver debug..." echo 1 > /sys/module/stream_input/parameters/pts_checkin_debug; if [ -e "$node_a" ]; then echo "has node a $node_a" echo 1 > $node_a; elif [ -e "$node_b" ]; then echo "has node b $node_b" echo 1 > $node_b; fi fi if [ "$AMCODEC_PTSSERVER_DEBUG" -eq 1 ]; then echo "AMCODEC_PTSSERVER_DEBUG is 1,open pts_srv decoder media_sync driver debug..." echo 0x18fb > /sys/module/amvdec_mmpeg12/parameters/debug_enable echo 0x60006807 > /sys/module/amvdec_h265/parameters/debug; echo 0x0000ff > /sys/module/amvdec_mh264/parameters/h264_debug_flag; echo 3 > /sys/module/pts_server/parameters/ptsserver_debuglevel; echo 3 > /sys/module/media_sync/parameters/media_sync_debug_level; fi echo 0x30 > /sys/module/media_sync/parameters/media_sync_user_debug_level; echo 2 > /sys/module/media_sync/parameters/media_sync_policy_debug_level; echo 4 > /sys/module/media_sync/parameters/media_sync_vf_debug_level; echo 0 > /proc/sys/kernel/printk; USB_PATH=$(mount | grep -i "sda" | awk '{print $3}' | head -n 1 | sed 's/://g') if [ -d "$USB_PATH" ]; then echo "find usb path success:$USB_PATH" else echo "can not find usb path:$USB_PATH,please insert external hard drive" exit 1 fi rm $USB_PATH/logcat.txt;logcat -c;logcat -v time > $USB_PATH/logcat.txt& rm -rf $USB_PATH/log12.txt; dmesg -c > /dev/null;while true;do dmesg -c >> $USB_PATH/log12.txt;sync;done& echo "catch log ing >>>>>"