Any suggest of better variable name? Best regards,
Eric -----Original Message----- From: Gou, Hongmei Sent: Monday, February 25, 2019 10:13 AM To: Ruei, Eric; [email protected] Subject: RE: [EXTERNAL] [meta-arago] [matrix-gui-v2-apps][PATCH] arm_multimedia: add kmssink support > -----Original Message----- > From: [email protected] [mailto:meta-arago- > [email protected]] On Behalf Of Ruei, Eric > Sent: Wednesday, February 20, 2019 10:41 AM > To: [email protected] > Subject: [EXTERNAL] [meta-arago] [matrix-gui-v2-apps][PATCH] > arm_multimedia: add kmssink support > > - use kmssink as video sink for AM4 and AM6 SoCs > - cleanup indentations > > Signed-off-by: Eric Ruei <[email protected]> > --- > .../arm_multimedia_h264dec/runH264Dec.sh | 15 ++++++- > .../arm_multimedia_mpeg4aacdec/runMpeg4AacDec.sh | 52 > +++++++++++++--------- > .../arm_multimedia_mpeg4dec/runMpeg4Dec.sh | 13 +++++- > 3 files changed, 55 insertions(+), 25 deletions(-) > > diff --git a/multimedia_apps/arm_multimedia_h264dec/runH264Dec.sh > b/multimedia_apps/arm_multimedia_h264dec/runH264Dec.sh > index f1ea7dd..9a3b47b 100644 > --- a/multimedia_apps/arm_multimedia_h264dec/runH264Dec.sh > +++ b/multimedia_apps/arm_multimedia_h264dec/runH264Dec.sh > @@ -1,7 +1,9 @@ > #!/bin/sh > > machine_type="`cat /etc/hostname`" > +VIDEO_SINK="kmssink" > if [ "$machine_type" = "am335x-evm" ] || [ "$machine_type" = "am335x-hs- > evm" ]; then > + VIDEO_SINK="fbdevsink" > resolution="`fbset | awk '/geometry/ {print $2"x"$3}'`" > if [ "$resolution" = "480x272" ]; then > filename="/usr/share/ti/video/TearOfSteel-Short- > 400x240.264" > @@ -25,7 +27,8 @@ then > fi > elif [ "$machine_type" = "am65xx-evm" ] > then > - filename="/usr/share/ti/video/TearOfSteel-Short-1280x540.h264" > + VIDEO_SINK="kmssink_am6" Setting VIDEO_SINK as kmssink_am6 may cause confusion. According to the pipelines used below, am6 is using kmssink also, but requires a different video format for the display. > + filename="/usr/share/ti/video/TearOfSteel-Short-720x406.264" > else > default_display="`cat > /sys/devices/platform/omapdss/manager0/display`" > if [ "$default_display" = "dvi" ]; then > @@ -50,4 +53,12 @@ echo "" > echo "Launch GStreamer pipeline" > echo "" > echo "Length of video clip: 21 seconds" > -gst-launch-1.0 filesrc location=$filename ! queue ! h264parse ! avdec_h264 ! > videoconvert ! fbdevsink device=/dev/fb0 > +if [ "$VIDEO_SINK" = "fbdevsink" ] > +then > + gst-launch-1.0 filesrc location=$filename ! queue ! h264parse ! > avdec_h264 ! videoconvert ! fbdevsink device=/dev/fb0 > +elif [ "$VIDEO_SINK" = "kmssink_am6" ] > +then > + gst-launch-1.0 filesrc location=$filename ! queue ! h264parse ! > avdec_h264 ! videoconvert ! 'video/x-raw, format=(string)BGRA' ! kmssink > +else > + gst-launch-1.0 filesrc location=$filename ! queue ! h264parse ! > avdec_h264 ! videoconvert ! kmssink > +fi > \ No newline at end of file > diff --git > a/multimedia_apps/arm_multimedia_mpeg4aacdec/runMpeg4AacDec.sh > b/multimedia_apps/arm_multimedia_mpeg4aacdec/runMpeg4AacDec.sh > index 18ee0ea..d968435 100644 > --- a/multimedia_apps/arm_multimedia_mpeg4aacdec/runMpeg4AacDec.sh > +++ > b/multimedia_apps/arm_multimedia_mpeg4aacdec/runMpeg4AacDec.sh > @@ -8,28 +8,34 @@ elif grep -q "no soundcards" /proc/asound/cards; then > echo "No sound devices found!" > else > machine_type="`cat /etc/hostname`" > + VIDEO_SINK="kmssink" > if [ "$machine_type" = "am335x-evm" ] || [ "$machine_type" = > "am335x-hs-evm" ]; then > + VIDEO_SINK="fbdevsink" > resolution="`fbset | awk '/geometry/ {print $2"x"$3}'`" > - if [ "$resolution" = "480x272" ]; then > + if [ "$resolution" = "480x272" ]; then > filename="/usr/share/ti/video/TearOfSteel-AV- > Short-400x240.mp4" > else > # Use WVGA for all other resolutions > filename="/usr/share/ti/video/TearOfSteel-AV- > Short-720x420.mp4" > - fi > - elif [ "$machine_type" = "dra7xx-evm" ] > - then > - filename="/usr/share/ti/video/TearOfSteel-AV-Short- > 720x420.mp4" > - elif [ "$machine_type" = "omap5-evm" ] > - then > - filename="/usr/share/ti/video/TearOfSteel-AV-Short-720x406.mp4" > - elif [ "$machine_type" = "am437x-evm" ] || [ "$machine_type" = > "am437x-hs-evm" ] || [ "$machine_type" = "am438x-epos-evm" ]|| [ > "$machine_type" = "am65xx-evm" ] > - then > - resolution="`fbset | awk '/geometry/ {print $2"x"$3}'`" > - if [ "$resolution" = "480x272" ]; then > - filename="/usr/share/ti/video/TearOfSteel-AV-Short- > 400x240.mp4" > - else > - filename="/usr/share/ti/video/TearOfSteel-AV-Short- > 720x406.mp4" > - fi > + fi > + elif [ "$machine_type" = "dra7xx-evm" ] > + then > + filename="/usr/share/ti/video/TearOfSteel-AV-Short- > 720x420.mp4" > + elif [ "$machine_type" = "omap5-evm" ] > + then > + filename="/usr/share/ti/video/TearOfSteel-AV-Short- > 720x406.mp4" > + elif [ "$machine_type" = "am65xx-evm" ] > + then > + VIDEO_SINK="kmssink_am6" > + filename="/usr/share/ti/video/TearOfSteel-AV-Short- > 720x406.mp4" > + elif [ "$machine_type" = "am437x-evm" ] || [ "$machine_type" = > "am437x-hs-evm" ] || [ "$machine_type" = "am438x-epos-evm" ] > + then > + resolution="`fbset | awk '/geometry/ {print $2"x"$3}'`" > + if [ "$resolution" = "480x272" ]; then > + filename="/usr/share/ti/video/TearOfSteel-AV- > Short-400x240.mp4" > + else > + filename="/usr/share/ti/video/TearOfSteel-AV- > Short-720x406.mp4" > + fi > else > default_display="`cat > /sys/devices/platform/omapdss/manager0/display`" > if [ "$default_display" = "dvi" ]; then > @@ -52,14 +58,12 @@ else > amixer -c 0 set Headset 1+ unmute > elif [ "$machine_type" = "am335x-evm" ] || [ "$machine_type" = > "am335x-hs-evm" ]; then > amixer cset name='PCM Playback Volume' 127 > - elif [ "$machine_type" = "omap5-evm" ]; then > + elif [ "$machine_type" = "omap5-evm" ]; then > amixer cset name='PCM Playback Volume' 127 > - elif [ "$machine_type" = "am437x-evm" ] || [ "$machine_type" = > "am437x-hs-evm" ] || [ "$machine_type" = "am438x-epos-evm" ]; then > - > + elif [ "$machine_type" = "am437x-evm" ] || [ "$machine_type" = > "am437x-hs-evm" ] || [ "$machine_type" = "am438x-epos-evm" ]; then > # EPOS uses a different configuration so check if > # we are running on that board > model_name=`cat /proc/device-tree/model | grep -i epos` > - > if [ "$?" = '0' ]; then > amixer cset name='DAC Playback Volume' 127 > amixer cset name='HP Analog Playback Volume' 66 > @@ -72,5 +76,11 @@ else > amixer cset name='PCM Playback Volume' 127 > fi > fi > - gst-launch-1.0 filesrc location=$filename ! queue ! qtdemux > name=demux demux.audio_0 ! queue ! faad ! alsasink demux.video_0 ! > queue ! avdec_mpeg4 ! videoconvert ! fbdevsink device=/dev/fb0 > + if [ "$VIDEO_SINK" = "fbdevsink" ]; then > + gst-launch-1.0 filesrc location=$filename ! queue ! qtdemux > name=demux demux.audio_0 ! queue ! faad ! alsasink demux.video_0 ! > queue ! avdec_mpeg4 ! videoconvert ! fbdevsink device=/dev/fb0 > + elif [ "$VIDEO_SINK" = "kmssink_am6" ]; then > + gst-launch-1.0 filesrc location=$filename ! queue ! qtdemux > name=demux demux.audio_0 ! queue ! faad ! alsasink demux.video_0 ! > queue ! avdec_mpeg4 ! videoconvert ! 'video/x-raw, format=(string)BGRA' ! > kmssink > + else > + gst-launch-1.0 filesrc location=$filename ! queue ! qtdemux > name=demux demux.audio_0 ! queue ! faad ! alsasink demux.video_0 ! > queue ! avdec_mpeg4 ! videoconvert ! kmssink > + fi > fi > diff --git a/multimedia_apps/arm_multimedia_mpeg4dec/runMpeg4Dec.sh > b/multimedia_apps/arm_multimedia_mpeg4dec/runMpeg4Dec.sh > index 82fcb2c..bb565c2 100644 > --- a/multimedia_apps/arm_multimedia_mpeg4dec/runMpeg4Dec.sh > +++ b/multimedia_apps/arm_multimedia_mpeg4dec/runMpeg4Dec.sh > @@ -1,7 +1,9 @@ > #!/bin/sh > > machine_type="`cat /etc/hostname`" > +VIDEO_SINK="kmssink" > if [ "$machine_type" = "am335x-evm" ] || [ "$machine_type" = "am335x-hs- > evm" ]; then > + VIDEO_SINK="fbdevsink" > resolution="`fbset | awk '/geometry/ {print $2"x"$3}'`" > if [ "$resolution" = "480x272" ]; then > filename="/usr/share/ti/video/TearOfSteel-Short- > 400x240.m4v" > @@ -25,7 +27,8 @@ then > fi > elif [ "$machine_type" = "am65xx-evm" ] > then > - filename="/usr/share/ti/video/TearOfSteel-Short-1280x540.m4v" > + VIDEO_SINK="kmssink_am6" > + filename="/usr/share/ti/video/TearOfSteel-Short-720x406.m4v" > else > default_display="`cat > /sys/devices/platform/omapdss/manager0/display`" > if [ "$default_display" = "dvi" ]; then > @@ -46,4 +49,10 @@ if [ ! -f $filename ]; then > echo "Video clip not found" > exit 1 > fi > -gst-launch-1.0 playbin uri=file://$filename video-sink=fbdevsink audio- > sink=fakesink > +if [ "$VIDEO_SINK" = "fbdevsink" ]; then > + gst-launch-1.0 playbin uri=file://$filename video-sink=fbdevsink > audio-sink=fakesink > +elif [ "$VIDEO_SINK" = "kmssink_am6" ]; then > + gst-launch-1.0 filesrc location=$filename ! queue ! qtdemux > name=demux demux.video_0 ! queue ! avdec_mpeg4 ! videoconvert ! > 'video/x-raw, format=(string)BGRA' ! kmssink > +else > + gst-launch-1.0 filesrc location=$filename ! queue ! qtdemux > name=demux demux.video_0 ! queue ! avdec_mpeg4 ! videoconvert ! > kmssink > +fi > -- > 1.9.1 > > _______________________________________________ > meta-arago mailing list > [email protected] > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago _______________________________________________ meta-arago mailing list [email protected] http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
