From 6fcd94fb982d2c78fc5626b1a8750fa7f9527e87 Mon Sep 17 00:00:00 2001 From: Javier Viguera Date: Tue, 26 Nov 2013 18:55:46 +0100 Subject: [PATCH] gst-fsl-plugin: synchronize with DEL's package We found that the gst-fsl-plugin package from Yocto is not exactly the same than the one we used in DEL even though they have the same version. We think the one we used in DEL (released by FSL via LTIB) is more recent and has some fixes, so create a first patch that applies on top of the one in Yocto and convert it to the one in DEL. Also instead of appending new patches to meta-fsl-arm SRC_URI, override completely the variable and add the patches from meta-fsl-arm layer in our own layer. The final result is: we use the yocto tarball, then apply a first patch that converts it to the one in DEL/LTIB, then apply the patches from meta-fsl-arm and finally the ones added by us. Signed-off-by: Javier Viguera --- ...st-fsl-plugin-update-to-DEL-revision.patch | 2095 +++++++++++++++++ ...x-segment-fault-in-v4lsink-for-yocto.patch | 43 + ...meta-fsl-arm-fix-missing-sys-types.h.patch | 26 + ...l-arm-Use-library-s-SONAME-in-dlopen.patch | 29 + ...reen.patch => 0005-gplay_fullscreen.patch} | 4 +- ...add-fb-dev.patch => 0006-add-fb-dev.patch} | 18 +- ..._uyvy.patch => 0007-mfw_v4lsrc_uyvy.patch} | 0 ....patch => 0008-mfw_v4lsec_def_sizes.patch} | 0 ... => 0009-mfw_v4lsrc_create_segfault.patch} | 0 ...y_rotate.patch => 0010-gplay_rotate.patch} | 6 +- ...-Set-defaults-if-no-vssconfig-found.patch} | 0 ...ear-framebuffer-of-spurious-content.patch} | 0 ...k-Do-not-ignore-cropping-dimensions.patch} | 4 +- ..._file.patch => 0014-gplay_next_file.patch} | 4 +- ...y_repeat.patch => 0015-gplay_repeat.patch} | 2 +- ...ly-call-MXCFB_SET_OVERLAY_POS-with-.patch} | 0 ...-not-blank-the-display-on-device-cl.patch} | 0 ...en.patch => 0018-undefined-shm_open.patch} | 0 .../gst-plugins/gst-fsl-plugin_2.0.3.bbappend | 35 +- 19 files changed, 2232 insertions(+), 34 deletions(-) create mode 100644 meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0001-gst-fsl-plugin-update-to-DEL-revision.patch create mode 100644 meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0002-meta-fsl-arm-fix-segment-fault-in-v4lsink-for-yocto.patch create mode 100644 meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0003-meta-fsl-arm-fix-missing-sys-types.h.patch create mode 100644 meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0004-meta-fsl-arm-Use-library-s-SONAME-in-dlopen.patch rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0001-gplay_fullscreen.patch => 0005-gplay_fullscreen.patch} (98%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0002-add-fb-dev.patch => 0006-add-fb-dev.patch} (92%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0003-mfw_v4lsrc_uyvy.patch => 0007-mfw_v4lsrc_uyvy.patch} (100%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0004-mfw_v4lsec_def_sizes.patch => 0008-mfw_v4lsec_def_sizes.patch} (100%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0005-mfw_v4lsrc_create_segfault.patch => 0009-mfw_v4lsrc_create_segfault.patch} (100%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0006-gplay_rotate.patch => 0010-gplay_rotate.patch} (95%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0007-mfw_isink-Set-defaults-if-no-vssconfig-found.patch => 0011-mfw_isink-Set-defaults-if-no-vssconfig-found.patch} (100%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0008-gst-fsl-plugin-Clear-framebuffer-of-spurious-content.patch => 0012-gst-fsl-plugin-Clear-framebuffer-of-spurious-content.patch} (100%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0009-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch => 0013-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch} (95%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0010-gplay_next_file.patch => 0014-gplay_next_file.patch} (91%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0011-gplay_repeat.patch => 0015-gplay_repeat.patch} (98%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0012-gst-fsl-plugin-Only-call-MXCFB_SET_OVERLAY_POS-with-.patch => 0016-gst-fsl-plugin-Only-call-MXCFB_SET_OVERLAY_POS-with-.patch} (100%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0013-gst-fsl-plugin-Do-not-blank-the-display-on-device-cl.patch => 0017-gst-fsl-plugin-Do-not-blank-the-display-on-device-cl.patch} (100%) rename meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/{0014-undefined-shm_open.patch => 0018-undefined-shm_open.patch} (100%) diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0001-gst-fsl-plugin-update-to-DEL-revision.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0001-gst-fsl-plugin-update-to-DEL-revision.patch new file mode 100644 index 000000000..0661fc239 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0001-gst-fsl-plugin-update-to-DEL-revision.patch @@ -0,0 +1,2095 @@ +From: Javier Viguera +Date: Fri, 22 Nov 2013 16:57:32 +0100 +Subject: [PATCH] gst-fsl-plugin: update to DEL revision + +Signed-off-by: Javier Viguera +--- + Makefile.am | 1 + + configure | 387 ++++++++++++++-------- + configure.ac | 18 +- + libs/me/TimeStamp.c | 279 ++++++++-------- + src/audio/aac_dec/src/mfw_gst_aacdec.c | 48 ++- + src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c | 42 ++- + src/audio/mp3_dec/src/mfw_gst_mp3dec.c | 99 +----- + src/audio/mp3_dec/src/mfw_gst_mp3dec.h | 9 +- + src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c | 12 +- + src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c | 1 + + src/misc/v4l_sink/src/mfw_gst_v4lsink.c | 6 + + src/parser/aiur/src/aiurdemux.c | 2 +- + src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c | 5 +- + src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c | 12 +- + tools/gplay/gplay_header.tgz | Bin 8807 -> 0 bytes + tools/gplay/mfw_gplay.c | 11 +- + tools/gplay/mfw_gplay_core.c | 8 +- + tools/gplay/mfw_gplay_core.h | 4 +- + 18 files changed, 514 insertions(+), 430 deletions(-) + delete mode 100644 tools/gplay/gplay_header.tgz + +diff --git a/Makefile.am b/Makefile.am +index be3d1d2..0f1c23c 100755 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,3 +1,4 @@ ++ACLOCAL_AMFLAGS = -I m4 + + LIBSDIRS = \ + libs/sconf \ +diff --git a/configure b/configure +index d29d19d..b4c9303 100755 +--- a/configure ++++ b/configure +@@ -1,6 +1,8 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.59. ++# Generated by GNU Autoconf 2.59 for GStreamer i.MX Plug-ins 2.0.3. ++# ++# Report bugs to . + # + # Copyright (C) 2003 Free Software Foundation, Inc. + # This configure script is free software; the Free Software Foundation +@@ -419,11 +421,11 @@ SHELL=${CONFIG_SHELL-/bin/sh} + : ${ac_max_here_lines=38} + + # Identity of this package. +-PACKAGE_NAME= +-PACKAGE_TARNAME= +-PACKAGE_VERSION= +-PACKAGE_STRING= +-PACKAGE_BUGREPORT= ++PACKAGE_NAME='GStreamer i.MX Plug-ins' ++PACKAGE_TARNAME='gstreamer-i-mx-plug-ins' ++PACKAGE_VERSION='2.0.3' ++PACKAGE_STRING='GStreamer i.MX Plug-ins 2.0.3' ++PACKAGE_BUGREPORT='http://www.freescale.com' + + # Factoring default headers for most tests. + ac_includes_default="\ +@@ -462,7 +464,7 @@ ac_includes_default="\ + # include + #endif" + +-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar BUILD_GCC_TRUE BUILD_GCC_FALSE ACLOCAL_AMFLAGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL HAVE_PKGCONFIG PLATFORM PKG_CONFIG ac_pt_PKG_CONFIG GST_CFLAGS GST_LIBS GST_MAJORMINOR GST_BASE_CFLAGS GST_BASE_LIBS GST_PLUGINS_BASE_CFLAGS GST_PLUGINS_BASE_LIBS FSL_MM_CORE_CFLAGS FSL_MM_CORE_LIBS VPU_CFLAGS VPU_LIBS IPU_CFLAGS IPU_LIBS asf_arm9_SONAME asf_arm11_SONAME avi_arm9_SONAME avi_arm11_SONAME flv_arm9_SONAME flv_arm11_SONAME mpg2_arm9_SONAME mpg2_arm11_SONAME mp4_arm9_SONAME mp4_arm11_SONAME mkv_arm9_SONAME mkv_arm11_SONAME ogg_arm9_SONAME ogg_arm11_SONAME plugindir GST_PLUGIN_LDFLAGS PLATFORM_IS_MX2X_TRUE PLATFORM_IS_MX2X_FALSE PLATFORM_IS_MX233_TRUE PLATFORM_IS_MX233_FALSE PLATFORM_IS_MX25_TRUE PLATFORM_IS_MX25_FALSE PLATFORM_IS_MX27_TRUE PLATFORM_IS_MX27_FALSE PLATFORM_IS_MX28_TRUE PLATFORM_IS_MX28_FALSE PLATFORM_IS_MX3X_TRUE PLATFORM_IS_MX3X_FALSE PLATFORM_IS_MX31_TRUE PLATFORM_IS_MX31_FALSE PLATFORM_IS_MX35_TRUE PLATFORM_IS_MX35_FALSE PLATFORM_IS_MX37_TRUE PLATFORM_IS_MX37_FALSE PLATFORM_IS_MX5X_TRUE PLATFORM_IS_MX5X_FALSE PLATFORM_IS_MX51_TRUE PLATFORM_IS_MX51_FALSE PLATFORM_IS_MX53_TRUE PLATFORM_IS_MX53_FALSE PLATFORM_IS_MX50_TRUE PLATFORM_IS_MX50_FALSE PLATFORM_IS_MX6X_TRUE PLATFORM_IS_MX6X_FALSE LTIBBUILD_TRUE LTIBBUILD_FALSE USE_AAC_DEC_TRUE USE_AAC_DEC_FALSE USE_AACP_DEC_TRUE USE_AACP_DEC_FALSE USE_BSAC_DEC_TRUE USE_BSAC_DEC_FALSE USE_MP3_DEC_TRUE USE_MP3_DEC_FALSE USE_MP3_ENC_TRUE USE_MP3_ENC_FALSE USE_VORBIS_DEC_TRUE USE_VORBIS_DEC_FALSE USE_WMA10_DEC_TRUE USE_WMA10_DEC_FALSE USE_DOWNMIX_TRUE USE_DOWNMIX_FALSE USE_WMA8_ENC_TRUE USE_WMA8_ENC_FALSE USE_AC3_DEC_TRUE USE_AC3_DEC_FALSE USE_H264_DEC_TRUE USE_H264_DEC_FALSE USE_MPEG4_DEC_TRUE USE_MPEG4_DEC_FALSE USE_MPEG2_DEC_TRUE USE_MPEG2_DEC_FALSE USE_WMV9MP_DEC_TRUE USE_WMV9MP_DEC_FALSE USE_WMV78_DEC_TRUE USE_WMV78_DEC_FALSE USE_X11_TRUE USE_X11_FALSE GSTMXLIBS_VERSION LIBOBJS LTLIBOBJS' ++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar ACLOCAL_AMFLAGS MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT BUILD_GCC_TRUE BUILD_GCC_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os SED EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL HAVE_PKGCONFIG PLATFORM PKG_CONFIG ac_pt_PKG_CONFIG GST_CFLAGS GST_LIBS GST_MAJORMINOR GST_BASE_CFLAGS GST_BASE_LIBS GST_PLUGINS_BASE_CFLAGS GST_PLUGINS_BASE_LIBS FSL_MM_CORE_CFLAGS FSL_MM_CORE_LIBS VPU_CFLAGS VPU_LIBS IPU_CFLAGS IPU_LIBS asf_arm9_SONAME asf_arm11_SONAME avi_arm9_SONAME avi_arm11_SONAME flv_arm9_SONAME flv_arm11_SONAME mpg2_arm9_SONAME mpg2_arm11_SONAME mp4_arm9_SONAME mp4_arm11_SONAME mkv_arm9_SONAME mkv_arm11_SONAME ogg_arm9_SONAME ogg_arm11_SONAME plugindir GST_PLUGIN_LDFLAGS PLATFORM_IS_MX2X_TRUE PLATFORM_IS_MX2X_FALSE PLATFORM_IS_MX233_TRUE PLATFORM_IS_MX233_FALSE PLATFORM_IS_MX25_TRUE PLATFORM_IS_MX25_FALSE PLATFORM_IS_MX27_TRUE PLATFORM_IS_MX27_FALSE PLATFORM_IS_MX28_TRUE PLATFORM_IS_MX28_FALSE PLATFORM_IS_MX3X_TRUE PLATFORM_IS_MX3X_FALSE PLATFORM_IS_MX31_TRUE PLATFORM_IS_MX31_FALSE PLATFORM_IS_MX35_TRUE PLATFORM_IS_MX35_FALSE PLATFORM_IS_MX37_TRUE PLATFORM_IS_MX37_FALSE PLATFORM_IS_MX5X_TRUE PLATFORM_IS_MX5X_FALSE PLATFORM_IS_MX51_TRUE PLATFORM_IS_MX51_FALSE PLATFORM_IS_MX53_TRUE PLATFORM_IS_MX53_FALSE PLATFORM_IS_MX50_TRUE PLATFORM_IS_MX50_FALSE PLATFORM_IS_MX6X_TRUE PLATFORM_IS_MX6X_FALSE LTIBBUILD_TRUE LTIBBUILD_FALSE USE_AAC_DEC_TRUE USE_AAC_DEC_FALSE USE_AACP_DEC_TRUE USE_AACP_DEC_FALSE USE_BSAC_DEC_TRUE USE_BSAC_DEC_FALSE USE_MP3_DEC_TRUE USE_MP3_DEC_FALSE USE_MP3_ENC_TRUE USE_MP3_ENC_FALSE USE_VORBIS_DEC_TRUE USE_VORBIS_DEC_FALSE USE_WMA10_DEC_TRUE USE_WMA10_DEC_FALSE USE_DOWNMIX_TRUE USE_DOWNMIX_FALSE USE_WMA8_ENC_TRUE USE_WMA8_ENC_FALSE USE_AC3_DEC_TRUE USE_AC3_DEC_FALSE USE_H264_DEC_TRUE USE_H264_DEC_FALSE USE_MPEG4_DEC_TRUE USE_MPEG4_DEC_FALSE USE_MPEG2_DEC_TRUE USE_MPEG2_DEC_FALSE USE_WMV9MP_DEC_TRUE USE_WMV9MP_DEC_FALSE USE_WMV78_DEC_TRUE USE_WMV78_DEC_FALSE USE_X11_TRUE USE_X11_FALSE GSTMXLIBS_VERSION LIBOBJS LTLIBOBJS' + ac_subst_files='' + + # Initialize some variables set by options. +@@ -1003,7 +1005,7 @@ if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-\`configure' configures this package to adapt to many kinds of systems. ++\`configure' configures GStreamer i.MX Plug-ins 2.0.3 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1068,7 +1070,9 @@ _ACEOF + fi + + if test -n "$ac_init_help"; then +- ++ case $ac_init_help in ++ short | recursive ) echo "Configuration of GStreamer i.MX Plug-ins 2.0.3:";; ++ esac + cat <<\_ACEOF + + Optional Features: +@@ -1147,6 +1151,7 @@ Some influential environment variables: + Use these variables to override the choices made by `configure' or to help + it to find libraries and programs with nonstandard names/locations. + ++Report bugs to . + _ACEOF + fi + +@@ -1242,6 +1247,8 @@ fi + test -n "$ac_init_help" && exit 0 + if $ac_init_version; then + cat <<\_ACEOF ++GStreamer i.MX Plug-ins configure 2.0.3 ++generated by GNU Autoconf 2.59 + + Copyright (C) 2003 Free Software Foundation, Inc. + This configure script is free software; the Free Software Foundation +@@ -1254,7 +1261,7 @@ cat >&5 <<_ACEOF + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by $as_me, which was ++It was created by GStreamer i.MX Plug-ins $as_me 2.0.3, which was + generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ +@@ -1592,40 +1599,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +- +- +- +- +- +- +- +- +- +-echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 +- # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. +-if test "${enable_maintainer_mode+set}" = set; then +- enableval="$enable_maintainer_mode" +- USE_MAINTAINER_MODE=$enableval +-else +- USE_MAINTAINER_MODE=no +-fi; +- echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 +- +- +-if test $USE_MAINTAINER_MODE = yes; then +- MAINTAINER_MODE_TRUE= +- MAINTAINER_MODE_FALSE='#' +-else +- MAINTAINER_MODE_TRUE='#' +- MAINTAINER_MODE_FALSE= +-fi +- +- MAINT=$MAINTAINER_MODE_TRUE +- +- +- + am__api_version="1.9" + ac_aux_dir= + for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do +@@ -1932,8 +1905,8 @@ fi + + + # Define the identity of the package. +- PACKAGE=$PACKAGE +- VERSION=$VERSION ++ PACKAGE=gst-fsl-plugins ++ VERSION=2.0.3 + + + cat >>confdefs.h <<_ACEOF +@@ -2064,6 +2037,53 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + ++ ++ACLOCAL_AMFLAGS="-I m4" ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 ++echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6 ++ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. ++if test "${enable_maintainer_mode+set}" = set; then ++ enableval="$enable_maintainer_mode" ++ USE_MAINTAINER_MODE=$enableval ++else ++ USE_MAINTAINER_MODE=no ++fi; ++ echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 ++echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6 ++ ++ ++if test $USE_MAINTAINER_MODE = yes; then ++ MAINTAINER_MODE_TRUE= ++ MAINTAINER_MODE_FALSE='#' ++else ++ MAINTAINER_MODE_TRUE='#' ++ MAINTAINER_MODE_FALSE= ++fi ++ ++ MAINT=$MAINTAINER_MODE_TRUE ++ ++ ++ + my_add_modules= + echo "$as_me:$LINENO: checking for generating Plugins for gcc" >&5 + echo $ECHO_N "checking for generating Plugins for gcc... $ECHO_C" >&6 +@@ -2099,8 +2119,6 @@ else + BUILD_GCC_FALSE= + fi + +-ACLOCAL_AMFLAGS="-I m4" +- + + + +@@ -3208,6 +3226,109 @@ else + fi + + ++if test "x$CC" != xcc; then ++ echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 ++echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6 ++else ++ echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 ++echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6 ++fi ++set dummy $CC; ac_cc=`echo $2 | ++ sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` ++if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\" = set"; then ++ echo $ECHO_N "(cached) $ECHO_C" >&6 ++else ++ cat >conftest.$ac_ext <<_ACEOF ++/* confdefs.h. */ ++_ACEOF ++cat confdefs.h >>conftest.$ac_ext ++cat >>conftest.$ac_ext <<_ACEOF ++/* end confdefs.h. */ ++ ++int ++main () ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++# Make sure it works both with $CC and with simple cc. ++# We do the test twice because some compilers refuse to overwrite an ++# existing .o file with -o, though they will create one. ++ac_try='$CC -c conftest.$ac_ext -o conftest.$ac_objext >&5' ++if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; ++then ++ eval ac_cv_prog_cc_${ac_cc}_c_o=yes ++ if test "x$CC" != xcc; then ++ # Test first that cc exists at all. ++ if { ac_try='cc -c conftest.$ac_ext >&5' ++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; }; then ++ ac_try='cc -c conftest.$ac_ext -o conftest.$ac_objext >&5' ++ if { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); } && ++ test -f conftest.$ac_objext && { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ++ (eval $ac_try) 2>&5 ++ ac_status=$? ++ echo "$as_me:$LINENO: \$? = $ac_status" >&5 ++ (exit $ac_status); }; ++ then ++ # cc works too. ++ : ++ else ++ # cc exists but doesn't like -o. ++ eval ac_cv_prog_cc_${ac_cc}_c_o=no ++ fi ++ fi ++ fi ++else ++ eval ac_cv_prog_cc_${ac_cc}_c_o=no ++fi ++rm -f conftest* ++ ++fi ++if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then ++ echo "$as_me:$LINENO: result: yes" >&5 ++echo "${ECHO_T}yes" >&6 ++else ++ echo "$as_me:$LINENO: result: no" >&5 ++echo "${ECHO_T}no" >&6 ++ ++cat >>confdefs.h <<\_ACEOF ++#define NO_MINUS_C_MINUS_O 1 ++_ACEOF ++ ++fi ++ ++# FIXME: we rely on the cache variable name because ++# there is no other way. ++set dummy $CC ++ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` ++if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then ++ # Losing compiler, so override with the script. ++ # FIXME: It is wrong to rewrite CC. ++ # But if we don't then we get into trouble of one sort or another. ++ # A longer-term fix would be to have automake use am__CC in this case, ++ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" ++ CC="$am_aux_dir/compile $CC" ++fi ++ + # Check whether --enable-shared or --disable-shared was given. + if test "${enable_shared+set}" = set; then + enableval="$enable_shared" +@@ -3830,7 +3951,7 @@ ia64-*-hpux*) + ;; + *-*-irix6*) + # Find out which ABI we are using. +- echo '#line 3833 "configure"' > conftest.$ac_ext ++ echo '#line 3954 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +@@ -4607,9 +4728,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >& + echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -5429,7 +5550,7 @@ fi + + + # Provide some information about the compiler. +-echo "$as_me:5432:" \ ++echo "$as_me:5553:" \ + "checking for Fortran 77 compiler version" >&5 + ac_compiler=`set X $ac_compile; echo $2` + { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 +@@ -6492,11 +6613,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:6495: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:6616: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:6499: \$? = $ac_status" >&5 ++ echo "$as_me:6620: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -6760,11 +6881,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:6763: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:6884: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:6767: \$? = $ac_status" >&5 ++ echo "$as_me:6888: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -6864,11 +6985,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:6867: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:6988: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:6871: \$? = $ac_status" >&5 ++ echo "$as_me:6992: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -8333,7 +8454,7 @@ linux*) + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) +- echo '#line 8336 "configure"' > conftest.$ac_ext ++ echo '#line 8457 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +@@ -9230,7 +9351,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext < conftest.$ac_ext <&5) ++ (eval echo "\"\$as_me:11797: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:11680: \$? = $ac_status" >&5 ++ echo "$as_me:11801: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -11777,11 +11898,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:11780: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:11901: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:11784: \$? = $ac_status" >&5 ++ echo "$as_me:11905: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -12313,7 +12434,7 @@ linux*) + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) +- echo '#line 12316 "configure"' > conftest.$ac_ext ++ echo '#line 12437 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +@@ -13371,11 +13492,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:13374: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:13495: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:13378: \$? = $ac_status" >&5 ++ echo "$as_me:13499: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -13475,11 +13596,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:13478: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:13599: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:13482: \$? = $ac_status" >&5 ++ echo "$as_me:13603: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -14924,7 +15045,7 @@ linux*) + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) +- echo '#line 14927 "configure"' > conftest.$ac_ext ++ echo '#line 15048 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +@@ -15702,11 +15823,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:15705: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:15826: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:15709: \$? = $ac_status" >&5 ++ echo "$as_me:15830: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -15970,11 +16091,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:15973: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:16094: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:15977: \$? = $ac_status" >&5 ++ echo "$as_me:16098: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -16074,11 +16195,11 @@ else + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:16077: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:16198: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:16081: \$? = $ac_status" >&5 ++ echo "$as_me:16202: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -17543,7 +17664,7 @@ linux*) + libsuff= + case "$host_cpu" in + x86_64*|s390x*|powerpc64*) +- echo '#line 17546 "configure"' > conftest.$ac_ext ++ echo '#line 17667 "configure"' > conftest.$ac_ext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +@@ -20097,9 +20218,9 @@ echo "$as_me: WARNING: aacd_dec_interface.h: proceeding with the preprocessor's + echo "$as_me: WARNING: aacd_dec_interface.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -20331,9 +20452,9 @@ echo "$as_me: WARNING: aacplus_dec_interface.h: proceeding with the preprocessor + echo "$as_me: WARNING: aacplus_dec_interface.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -20565,9 +20686,9 @@ echo "$as_me: WARNING: bsacd_dec_interface.h: proceeding with the preprocessor's + echo "$as_me: WARNING: bsacd_dec_interface.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -20799,9 +20920,9 @@ echo "$as_me: WARNING: mp3_dec_interface.h: proceeding with the preprocessor's r + echo "$as_me: WARNING: mp3_dec_interface.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -21034,9 +21155,9 @@ echo "$as_me: WARNING: mp3_enc_interface.h: proceeding with the preprocessor's r + echo "$as_me: WARNING: mp3_enc_interface.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -21270,9 +21391,9 @@ echo "$as_me: WARNING: oggvorbis_dec_api.h: proceeding with the preprocessor's r + echo "$as_me: WARNING: oggvorbis_dec_api.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -21505,9 +21626,9 @@ echo "$as_me: WARNING: wma10_dec/wma10_dec_interface.h: proceeding with the prep + echo "$as_me: WARNING: wma10_dec/wma10_dec_interface.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -21740,9 +21861,9 @@ echo "$as_me: WARNING: downmix_dec_interface.h: proceeding with the preprocessor + echo "$as_me: WARNING: downmix_dec_interface.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -21975,9 +22096,9 @@ echo "$as_me: WARNING: wma8_enc_interface.h: proceeding with the preprocessor's + echo "$as_me: WARNING: wma8_enc_interface.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -22210,9 +22331,9 @@ echo "$as_me: WARNING: ac3d_dec_interface.h: proceeding with the preprocessor's + echo "$as_me: WARNING: ac3d_dec_interface.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -22446,9 +22567,9 @@ echo "$as_me: WARNING: avcd_dec_api.h: proceeding with the preprocessor's result + echo "$as_me: WARNING: avcd_dec_api.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -22681,9 +22802,9 @@ echo "$as_me: WARNING: mpeg4_asp_api.h: proceeding with the preprocessor's resul + echo "$as_me: WARNING: mpeg4_asp_api.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -22916,9 +23037,9 @@ echo "$as_me: WARNING: mpeg2_dec_api.h: proceeding with the preprocessor's resul + echo "$as_me: WARNING: mpeg2_dec_api.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -23151,9 +23272,9 @@ echo "$as_me: WARNING: wmv9mp_dec_api.h: proceeding with the preprocessor's resu + echo "$as_me: WARNING: wmv9mp_dec_api.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -23386,9 +23507,9 @@ echo "$as_me: WARNING: wmv789_dec_api.h: proceeding with the preprocessor's resu + echo "$as_me: WARNING: wmv789_dec_api.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -23577,9 +23698,9 @@ echo "$as_me: WARNING: X11/Xlib.h: proceeding with the preprocessor's result" >& + echo "$as_me: WARNING: X11/Xlib.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +-## ------------------------------------------ ## +-## Report this to the AC_PACKAGE_NAME lists. ## +-## ------------------------------------------ ## ++## --------------------------------------- ## ++## Report this to http://www.freescale.com ## ++## --------------------------------------- ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 +@@ -24263,7 +24384,7 @@ _ASBOX + } >&5 + cat >&5 <<_CSEOF + +-This file was extended by $as_me, which was ++This file was extended by GStreamer i.MX Plug-ins $as_me 2.0.3, which was + generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -24321,7 +24442,7 @@ _ACEOF + + cat >>$CONFIG_STATUS <<_ACEOF + ac_cs_version="\\ +-config.status ++GStreamer i.MX Plug-ins config.status 2.0.3 + configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +@@ -24557,9 +24678,6 @@ s,@ECHO_C@,$ECHO_C,;t t + s,@ECHO_N@,$ECHO_N,;t t + s,@ECHO_T@,$ECHO_T,;t t + s,@LIBS@,$LIBS,;t t +-s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t +-s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t +-s,@MAINT@,$MAINT,;t t + s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t + s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t + s,@INSTALL_DATA@,$INSTALL_DATA,;t t +@@ -24582,9 +24700,12 @@ s,@am__leading_dot@,$am__leading_dot,;t t + s,@AMTAR@,$AMTAR,;t t + s,@am__tar@,$am__tar,;t t + s,@am__untar@,$am__untar,;t t ++s,@ACLOCAL_AMFLAGS@,$ACLOCAL_AMFLAGS,;t t ++s,@MAINTAINER_MODE_TRUE@,$MAINTAINER_MODE_TRUE,;t t ++s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t ++s,@MAINT@,$MAINT,;t t + s,@BUILD_GCC_TRUE@,$BUILD_GCC_TRUE,;t t + s,@BUILD_GCC_FALSE@,$BUILD_GCC_FALSE,;t t +-s,@ACLOCAL_AMFLAGS@,$ACLOCAL_AMFLAGS,;t t + s,@CC@,$CC,;t t + s,@CFLAGS@,$CFLAGS,;t t + s,@LDFLAGS@,$LDFLAGS,;t t +diff --git a/configure.ac b/configure.ac +index 1587668..341484d 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -1,4 +1,16 @@ +-AC_INIT ++AC_PREREQ(2.59) ++ ++dnl initialize autoconf ++dnl releases only do -Wall, git and prerelease does -Werror too ++dnl use a three digit version number for releases, and four for git/prerelease ++AC_INIT(GStreamer i.MX Plug-ins, 2.0.3, http://www.freescale.com) ++ ++ ++dnl initialize automake ++AM_INIT_AUTOMAKE(gst-fsl-plugins,2.0.3) ++ ++ ++AC_SUBST(ACLOCAL_AMFLAGS, "-I m4") + + AC_DEFUN([FIND_PARSER_SONAME], + [ +@@ -201,8 +213,6 @@ fi + dnl AM_MAINTAINER_MODE provides the option to enable maintainer mode + AM_MAINTAINER_MODE + +-AM_INIT_AUTOMAKE($PACKAGE, $VERSION) +- + dnl Added for BUILD options. + my_add_modules= + AC_MSG_CHECKING([for generating Plugins for gcc]) +@@ -223,12 +233,12 @@ AC_ARG_WITH(unix, + + AM_CONDITIONAL(BUILD_GCC, test $my_build_gcc = yes) + dnl make aclocal work in maintainer mode +-AC_SUBST(ACLOCAL_AMFLAGS, "-I m4") + + + + dnl check for tools + AC_PROG_CC ++AM_PROG_CC_C_O + AC_PROG_LIBTOOL + + +diff --git a/libs/me/TimeStamp.c b/libs/me/TimeStamp.c +index 30e7b35..536a94b 100755 +--- a/libs/me/TimeStamp.c ++++ b/libs/me/TimeStamp.c +@@ -38,13 +38,34 @@ + #include + #include + +- +-#define xDEBUG +- + const char *debug_env = "ME_DEBUG"; + char *debug= NULL; + int debug_level = 0; + ++enum { ++ DEBUG_LEVEL_ERROR = 0, ++ DEBUG_LEVEL_WARNING = 1, ++ DEBUG_LEVEL_LOG = 2, ++ DEBUG_LEVEL_VERBOSE = 3, ++}; ++ ++ ++#define TSM_MESSAGE(level, fmt, ...)\ ++ do{\ ++ if (debug_level>=(level)){\ ++ printf("TSM:"fmt, ##__VA_ARGS__);\ ++ }\ ++ }while(0) ++ ++#define TSM_ERROR(...) TSM_MESSAGE(DEBUG_LEVEL_ERROR, ##__VA_ARGS__) ++#define TSM_WARNING(...) TSM_MESSAGE(DEBUG_LEVEL_WARNING, ##__VA_ARGS__) ++#define TSM_LOG(...) TSM_MESSAGE(DEBUG_LEVEL_LOG, ##__VA_ARGS__) ++#define TSM_VERBOSE(...) TSM_MESSAGE(DEBUG_LEVEL_VERBOSE, ##__VA_ARGS__) ++ ++ ++ ++ ++ + #define TSM_HISTORY_POWER 5 + #define TSM_HISTORY_SIZE (1<mode==MODE_AI){ +- +- if (TSM_TS_IS_VALID (timestamp) && (TSM_ABS(timestamp, tsm->last_ts_sent)ts_buf[tsm->rx].ts = timestamp; +- tsm->ts_buf[tsm->rx].age = tsm->age+TSM_PLUS_AGE(tsm); +- #ifdef DEBUG +- //printf("age should %lld %lld\n", tsm->age, tsm->ts_buf[tsm->rx].age); +- //printf("++++++ distance = %d tx=%d, rx=%d, invalid count=%d\n", TSM_DISTANCE(tsm), tsm->tx, tsm->rx,tsm->invalid_ts_count); +- #endif +- tsm->rx = ((tsm->rx + 1) % tsm->ts_buf_size); +- } +- else { +- tsm->invalid_ts_count++; +- } +- }else if (tsm->mode==MODE_FIFO){ +- tsm->ts_buf[tsm->rx].ts = timestamp; +- tsm->rx = ((tsm->rx + 1) % tsm->ts_buf_size); ++ tsm->rx_cnt++; ++ if (tsm->cntts_buf_size-1){ ++ tsm->cnt++; ++ if (tsm->mode==MODE_AI){ ++ ++ if (TSM_TS_IS_VALID (timestamp) && (TSM_ABS(timestamp, tsm->last_ts_sent)ts_buf[tsm->rx].ts = timestamp; ++ tsm->ts_buf[tsm->rx].age = tsm->age+TSM_PLUS_AGE(tsm); ++ #ifdef DEBUG ++ //printf("age should %lld %lld\n", tsm->age, tsm->ts_buf[tsm->rx].age); ++ //printf("++++++ distance = %d tx=%d, rx=%d, invalid count=%d\n", TSM_DISTANCE(tsm), tsm->tx, tsm->rx,tsm->invalid_ts_count); ++ #endif ++ tsm->rx = ((tsm->rx + 1) % tsm->ts_buf_size); ++ } ++ else { ++ tsm->invalid_ts_count++; ++ } ++ }else if (tsm->mode==MODE_FIFO){ ++ tsm->ts_buf[tsm->rx].ts = timestamp; ++ tsm->rx = ((tsm->rx + 1) % tsm->ts_buf_size); ++ } ++ TSM_LOG("++Receive %d:%"TSM_TIME_FORMAT", invalid:%d, size:%d\n", tsm->rx_cnt, TSM_TIME_ARGS(timestamp), tsm->invalid_ts_count, tsm->cnt); ++ }else{ ++ TSM_ERROR("Too many timestamps recieved!! (cnt=%d)\n", tsm->cnt); + } + } + +- +- if(debug_level==2) { +- printf("coming %d ts = %"TSM_TIME_FORMAT", last_ts=%"TSM_TIME_FORMAT", invalid cnt=%d\n", +- tsm->rx_cnt++, TSM_TIME_ARGS(timestamp), TSM_TIME_ARGS(tsm->last_ts_sent), tsm->invalid_ts_count); +- } +- //#endif + } + + /*====================================================================================== +@@ -182,107 +203,101 @@ TSM_TIMESTAMP TSManagerSend (void * handle) + int age; + TSM_TIMESTAMP half_interval = TSM_ADAPTIVE_INTERVAL(tsm)>>1; + +- if (tsm==NULL) +- goto fail; +- +- +- +- if (tsm->mode==MODE_AI){ +- +- if (tsm->first==0){ +- tstmp = tsm->last_ts_sent + TSM_ADAPTIVE_INTERVAL(tsm); +- }else{ +- tstmp = tsm->last_ts_sent; +- } +- +- while (i != tsm->rx) { +- if (index>=0) { +- if (tsm->ts_buf[i].ts < ts0) { +- ts0 = tsm->ts_buf[i].ts; +- age = tsm->ts_buf[i].age; +- index = i; +- } +- } +- else { +- ts0 = tsm->ts_buf[i].ts; +- age = tsm->ts_buf[i].age; +- index = i; +- } +- i = ((i + 1) % tsm->ts_buf_size); +- } +- if (index>=0) { +- if ((tsm->invalid_ts_count) && (ts0 >=((tstmp) + half_interval)) && (age>tsm->age)){ +- /* use calculated ts0 */ +- tsm->invalid_ts_count--; +- }else{ +- if (index != tsm->tx) { +- tsm->ts_buf[index] = +- tsm->ts_buf[tsm->tx]; +- } +- tsm->tx = ((tsm->tx + 1) % tsm->ts_buf_size); +- +- #if 0 +- if (ts0 >=((tstmp) + half_interval)) +- tstmp = tstmp; +- else +- tstmp = ts0; +- #else +- tstmp = ts0; +- #endif +- } +- +- }else{ +- tsm->invalid_ts_count--; +- } +- +- if (tsm->first==0){ +- +- +- if (tstmp>tsm->last_ts_sent){ +- ts0 = (tstmp-tsm->last_ts_sent); +- }else{ +- ts0 = 0; +- tstmp=tsm->last_ts_sent; +- } +- +- if(debug_level==3) +- { +- if (ts0>TSM_ADAPTIVE_INTERVAL(tsm)*3/2) +- printf("Warning: !!!!!!!!!!!!dur this time %"TSM_TIME_FORMAT" > frame_interval:%"TSM_TIME_FORMAT"* 3/2\n", +- TSM_TIME_ARGS(ts0), TSM_TIME_ARGS(TSM_ADAPTIVE_INTERVAL(tsm))); +- } +- +- tsm->dur_history_total-=tsm->dur_history_buf[tsm->dur_history_tx]; +- tsm->dur_history_buf[tsm->dur_history_tx] = ts0; +- tsm->dur_history_tx = ((tsm->dur_history_tx + 1) % TSM_HISTORY_SIZE); +- tsm->dur_history_total+=ts0; +- } +- +- tsm->last_ts_sent = tstmp; +- tsm->age++; +- tsm->first = 0; +- +- +- }else if (tsm->mode==MODE_FIFO){ +- if (tsm->tx!=tsm->rx){ +- tstmp = tsm->ts_buf[tsm->tx].ts; +- tsm->tx = ((tsm->tx + 1) % tsm->ts_buf_size); +- tsm->last_ts_sent = tstmp; +- }else{ +- tstmp = tsm->last_ts_sent; +- printf("\FATAL Error[no timestamp received], Maybe a framework bug!\n"); +- } ++ if (tsm){ ++ tsm->tx_cnt++; ++ if (tsm->cnt>0){ ++ tsm->cnt--; ++ if (tsm->mode==MODE_AI){ ++ ++ if (tsm->first==0){ ++ tstmp = tsm->last_ts_sent + TSM_ADAPTIVE_INTERVAL(tsm); ++ }else{ ++ tstmp = tsm->last_ts_sent; ++ } ++ ++ while (i != tsm->rx) { ++ if (index>=0) { ++ if (tsm->ts_buf[i].ts < ts0) { ++ ts0 = tsm->ts_buf[i].ts; ++ age = tsm->ts_buf[i].age; ++ index = i; ++ } ++ } ++ else { ++ ts0 = tsm->ts_buf[i].ts; ++ age = tsm->ts_buf[i].age; ++ index = i; ++ } ++ i = ((i + 1) % tsm->ts_buf_size); ++ } ++ if (index>=0) { ++ if ((tsm->invalid_ts_count) && (ts0 >=((tstmp) + half_interval)) && (age>tsm->age)){ ++ /* use calculated ts0 */ ++ tsm->invalid_ts_count--; ++ }else{ ++ if (index != tsm->tx) { ++ tsm->ts_buf[index] = ++ tsm->ts_buf[tsm->tx]; ++ } ++ tsm->tx = ((tsm->tx + 1) % tsm->ts_buf_size); ++ ++ #if 0 ++ if (ts0 >=((tstmp) + half_interval)) ++ tstmp = tstmp; ++ else ++ tstmp = ts0; ++ #else ++ tstmp = ts0; ++ #endif ++ } ++ ++ }else{ ++ tsm->invalid_ts_count--; ++ } ++ ++ if (tsm->first==0){ ++ ++ ++ if (tstmp>tsm->last_ts_sent){ ++ ts0 = (tstmp-tsm->last_ts_sent); ++ }else{ ++ ts0 = 0; ++ tstmp=tsm->last_ts_sent; ++ } ++ ++ ++ if (ts0>TSM_ADAPTIVE_INTERVAL(tsm)*3/2){ ++ TSM_WARNING("Jitter:%"TSM_TIME_FORMAT"\n", TSM_TIME_ARGS(ts0)); ++ }else if (ts0==0){ ++ TSM_WARNING("Jitter:%"TSM_TIME_FORMAT"\n", TSM_TIME_ARGS(ts0)); ++ } ++ tsm->dur_history_total-=tsm->dur_history_buf[tsm->dur_history_tx]; ++ tsm->dur_history_buf[tsm->dur_history_tx] = ts0; ++ tsm->dur_history_tx = ((tsm->dur_history_tx + 1) % TSM_HISTORY_SIZE); ++ tsm->dur_history_total+=ts0; ++ } ++ ++ tsm->last_ts_sent = tstmp; ++ tsm->age++; ++ tsm->first = 0; ++ ++ ++ }else if (tsm->mode==MODE_FIFO){ ++ tstmp = tsm->ts_buf[tsm->tx].ts; ++ tsm->tx = ((tsm->tx + 1) % tsm->ts_buf_size); ++ ts0 = tstmp - tsm->last_ts_sent; ++ tsm->last_ts_sent = tstmp; ++ } ++ ++ TSM_LOG("--Send %d:%"TSM_TIME_FORMAT", int:%"TSM_TIME_FORMAT", avg:%"TSM_TIME_FORMAT"\n", ++ tsm->tx_cnt, TSM_TIME_ARGS(tstmp), TSM_TIME_ARGS(ts0), ++ TSM_TIME_ARGS(TSM_ADAPTIVE_INTERVAL(tsm))); ++ ++ }else{ ++ TSM_ERROR("Too many timestamps send!!\n"); + } + +- if(debug_level==1){ +- printf("frame_interval = %"TSM_TIME_FORMAT"\n", TSM_TIME_ARGS(TSM_ADAPTIVE_INTERVAL(tsm))); +- } +- +- if(debug_level==2) { +- printf("outing +++++++ %d ts out:%"TSM_TIME_FORMAT" frame_interval:%"TSM_TIME_FORMAT"\n", +- tsm->tx_cnt++, TSM_TIME_ARGS(tstmp), TSM_TIME_ARGS(ts0)); +- } +- //#endif ++ } + fail: + + return tstmp; +@@ -300,10 +315,7 @@ void resyncTSManager(void * handle, TSM_TIMESTAMP synctime, TSMGR_MODE mode) + tsm->invalid_ts_count = 0; + tsm->mode = mode; + tsm->age = 0; +- //#ifdef DEBUG +- tsm->rx_cnt = tsm->tx_cnt = 0; +- //#endif +- //TSM_BUFFER_SET(tsm->ts_buf, TSM_TIMESTAMP_NONE, tsm->ts_buf_size); ++ tsm->rx_cnt = tsm->tx_cnt = tsm->cnt = 0; + } + } + +@@ -330,7 +342,6 @@ void * createTSManager(int ts_buf_size) + + // printf("debug = %s \n ++++++++++++++++++++++++++++",debug); + if (tsm){ +- tsm->tx = tsm->rx = 0; + if (ts_buf_size<=0){ + ts_buf_size = TSM_DEFAULT_TS_BUFFER_SIZE; + } +@@ -388,7 +399,7 @@ void setTSManagerFrameRate(void * handle, int fps_n, int fps_d) + TSM_BUFFER_SET(tsm->dur_history_buf, ts, TSM_HISTORY_SIZE); + tsm->dur_history_total = (ts<number_of_channels; + dec_info.aacd_len = AAC_FRAME_SIZE; + aacdec_info->corrupt_bs = TRUE; ++ ++ GST_INFO("consume len %d %d %d\n", ++ consumelen, gst_adapter_available(aacdec_info->pAdapter), ++ dec_info.BitsInBlock / 8); ++ consumelen=gst_adapter_available (aacdec_info->pAdapter); + memset (outbuf, 0, AAC_FRAME_SIZE * CHANS * sizeof (AACD_OutputFmtType)); + } else { + aacdec_info->flow_error = TRUE; +@@ -1530,6 +1535,9 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize) + GST_ERROR ("Error in decoding the frame error is %d", rc); + GST_DEBUG ("inbuffsize = %d", inbuffsize); + } ++ else { ++ aacdec_info->error_cnt = 0; ++ } + + /* engr113747 : sometimes the audio sample rate is not common used, such + * as 41000, so there is no corresponding AAC sample rate index. The +@@ -1561,8 +1569,12 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize) + + if (dec_info.BitsInBlock < 8) + g_print ("consumed:%d\n", dec_info.BitsInBlock); ++ + consumelen += (dec_info.BitsInBlock / 8); + ++ if (consumelen>gst_adapter_available (aacdec_info->pAdapter)) ++ consumelen=gst_adapter_available (aacdec_info->pAdapter); ++ + if (*(dec_config->AACD_bno) < 2) { + get_timestamp_with_length (&aacdec_info->tsMgr, consumelen); + goto bail; +@@ -1588,26 +1600,22 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize) + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT); + gst_value_array_append_value (&chanpos, &pos); + } else if (dec_info.aacd_num_channels == 3) { +- g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); +- gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT); + gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT); + gst_value_array_append_value (&chanpos, &pos); +- } else if (dec_info.aacd_num_channels == 4) { /* FC,FCL,FCR,BC */ +- g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); ++ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_LFE); + gst_value_array_append_value (&chanpos, &pos); +- g_value_set_enum (&pos, +- GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER); ++ } else if (dec_info.aacd_num_channels == 4) { ++ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT); + gst_value_array_append_value (&chanpos, &pos); +- g_value_set_enum (&pos, +- GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER); ++ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT); + gst_value_array_append_value (&chanpos, &pos); +- g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_CENTER); ++ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_LEFT); + gst_value_array_append_value (&chanpos, &pos); +- } else if (dec_info.aacd_num_channels == 5) { /* FC,FL,FR,BL,BR */ +- g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); ++ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT); + gst_value_array_append_value (&chanpos, &pos); ++ } else if (dec_info.aacd_num_channels == 5) { + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT); + gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT); +@@ -1616,9 +1624,9 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize) + gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT); + gst_value_array_append_value (&chanpos, &pos); +- } else if (dec_info.aacd_num_channels == 6) { /* FC,FL,FR,BL,BR,LFE */ + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); + gst_value_array_append_value (&chanpos, &pos); ++ } else if (dec_info.aacd_num_channels == 6) { + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT); + gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT); +@@ -1627,6 +1635,8 @@ mfw_gst_aacdec_data (MFW_GST_AACDEC_INFO_T * aacdec_info, gint inbuffsize) + gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT); + gst_value_array_append_value (&chanpos, &pos); ++ g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); ++ gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_LFE); + gst_value_array_append_value (&chanpos, &pos); + } +@@ -1928,7 +1938,7 @@ PutBits (MFW_GST_AACDEC_INFO_T * aacdec_info, guint8 ** PositionDest, + guint8 *dummyDest; + + +- GST_INFO ("Put data:%x, len:%d.", Data, NumberOfBits); ++ GST_DEBUG ("Put data:%x, len:%d.", Data, NumberOfBits); + /* Hold the Address of the passed Destination source address. */ + if (PositionDest == NULL) { + dummyDest = NULL; +@@ -2309,16 +2319,22 @@ mfw_gst_aacdec_chain (GstPad * pad, GstBuffer * buf) + /* searching for sync word so that can give correct + data to the decode library */ + if (aacdec_info->app_params.App_adts_header_present) { +- while (1) { ++ while (i= inbuffsize) { ++ aacdec_info->app_params.App_adts_header_present = FALSE; ++ } ++ else { ++ inbuffer = inbuffer + i; ++ inbuffsize = inbuffsize - i; ++ } + } +- inbuffsize = inbuffsize - i; ++ + GST_BUFFER_OFFSET (aacdec_info->inbuffer1) = 0; + + App_bs_readinit ((gchar *) inbuffer, inbuffsize, aacdec_info); +diff --git a/src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c b/src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c +index 2180735..2d0304c 100755 +--- a/src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c ++++ b/src/audio/aacplus_dec/src/mfw_gst_aacplusdec.c +@@ -1552,6 +1552,12 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info, + aacplusdec_info->number_of_channels; + dec_info.aacd_len = AAC_FRAME_SIZE; + aacplusdec_info->corrupt_bs = TRUE; ++ ++ GST_INFO("consume len %d %d %d\n", ++ consumelen, gst_adapter_available(aacplusdec_info->pAdapter), ++ dec_info.BitsInBlock / 8); ++ consumelen=gst_adapter_available (aacplusdec_info->pAdapter); ++ + memset (outbuf, 0, + AAC_FRAME_SIZE * CHANS * sizeof (AACD_OutputFmtType)); + } +@@ -1562,6 +1568,9 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info, + GST_ERROR ("Error in decoding the frame error is %d\n", rc); + GST_DEBUG ("inbuffsize = %d\n", inbuffsize); + } ++ else { ++ aacplusdec_info->error_cnt = 0; ++ } + + /* engr113747 : sometimes the audio sample rate is not common used, such + * as 41000, so there is no corresponding AAC sample rate index. The +@@ -1607,6 +1616,9 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info, + + consumelen += (dec_info.BitsInBlock / 8); + ++ if (consumelen>gst_adapter_available (aacplusdec_info->pAdapter)) ++ consumelen=gst_adapter_available (aacplusdec_info->pAdapter); ++ + if (*(dec_config->AACD_bno) < 2) { + get_timestamp_with_length (&aacplusdec_info->tsMgr, consumelen); + return consumelen; +@@ -1644,34 +1656,31 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info, + gst_value_array_append_value (&chanpos, &pos); + } + else if (dec_info.aacd_num_channels == 3) { +- g_value_set_enum (&pos, +- GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); +- gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, + GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT); + gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, + GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT); + gst_value_array_append_value (&chanpos, &pos); +- } +- else if (dec_info.aacd_num_channels == 4) { /* FC,FCL,FCR,BC */ +- g_value_set_enum (&pos, +- GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); ++ g_value_set_enum (&pos, ++ GST_AUDIO_CHANNEL_POSITION_LFE); + gst_value_array_append_value (&chanpos, &pos); ++ } ++ else if (dec_info.aacd_num_channels == 4) { + g_value_set_enum (&pos, +- GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER); ++ GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT); + gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, +- GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER); ++ GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT); + gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, +- GST_AUDIO_CHANNEL_POSITION_REAR_CENTER); ++ GST_AUDIO_CHANNEL_POSITION_REAR_LEFT); + gst_value_array_append_value (&chanpos, &pos); +- } +- else if (dec_info.aacd_num_channels == 5) { /* FC,FL,FR,BL,BR */ + g_value_set_enum (&pos, +- GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); ++ GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT); + gst_value_array_append_value (&chanpos, &pos); ++ } ++ else if (dec_info.aacd_num_channels == 5) { + g_value_set_enum (&pos, + GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT); + gst_value_array_append_value (&chanpos, &pos); +@@ -1684,11 +1693,11 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info, + g_value_set_enum (&pos, + GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT); + gst_value_array_append_value (&chanpos, &pos); +- } +- else if (dec_info.aacd_num_channels == 6) { /* FC,FL,FR,BL,BR,LFE */ + g_value_set_enum (&pos, + GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); + gst_value_array_append_value (&chanpos, &pos); ++ } ++ else if (dec_info.aacd_num_channels == 6) { + g_value_set_enum (&pos, + GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT); + gst_value_array_append_value (&chanpos, &pos); +@@ -1701,6 +1710,9 @@ mfw_gst_aacplusdec_data (MFW_GST_AACPLUSDEC_INFO_T * aacplusdec_info, + g_value_set_enum (&pos, + GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT); + gst_value_array_append_value (&chanpos, &pos); ++ g_value_set_enum (&pos, ++ GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER); ++ gst_value_array_append_value (&chanpos, &pos); + g_value_set_enum (&pos, GST_AUDIO_CHANNEL_POSITION_LFE); + gst_value_array_append_value (&chanpos, &pos); + } +diff --git a/src/audio/mp3_dec/src/mfw_gst_mp3dec.c b/src/audio/mp3_dec/src/mfw_gst_mp3dec.c +index dff345b..1787ec6 100755 +--- a/src/audio/mp3_dec/src/mfw_gst_mp3dec.c ++++ b/src/audio/mp3_dec/src/mfw_gst_mp3dec.c +@@ -1,9 +1,4 @@ + /* +- * Copyright (C) 2005-2011 Freescale Semiconductor, Inc. All rights reserved. +- * +- */ +- +-/* + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either +@@ -20,6 +15,13 @@ + * Boston, MA 02111-1307, USA. + */ + ++ /* ++ * Copyright (C) <2005-2011> Freescale Semiconductor, Inc . ++ ++ * Based on gstmad.c by ++ * Copyright (C) <1999> Erik Walthinsen ++ */ ++ + /* + * Module Name: mfw_gst_mp3dec.c + * +@@ -113,12 +115,6 @@ GST_STATIC_PAD_TEMPLATE("src", + #define MFW_MP3DEC_CBKSIZE 512 + #define PULL_SIZE 4096 + +-/* threshold for timestamp resetting */ +-#define TS_RESET_THRESHOLD 2 +- +-/* fadein step */ +-#define FADEIN_STEP 1 +- + /* the clock in MHz for IMX31 to be changed for other platforms */ + #define PROCESSOR_CLOCK 532 + +@@ -1002,9 +998,6 @@ mfw_gst_mp3dec_change_state(GstElement * element, + mp3dec_info->layerchk = FALSE; + mp3dec_info->strm_info_get = FALSE; + mp3dec_info->new_segment = 1; +- mp3dec_info->flushed_bytes = 0; +- mp3dec_info->buf_list = NULL; +- mp3dec_info->fadein_factor = 0; + memset(&mp3dec_info->strm_info, 0, sizeof(mp3_fr_info)); + break; + } +@@ -1995,47 +1988,6 @@ static GstClockTime decode_mp3_get_timestamp(MfwGstMp3DecInfo * mp3dec_info) + return ts; + } + +- +-static void decode_mp3_fadein_mono(MfwGstMp3DecInfo * mp3dec_info, GstBuffer *buffer) +-{ +- gint size = GST_BUFFER_SIZE (buffer) / 2; +- gint16 *data = (gint16 *)GST_BUFFER_DATA (buffer); +- gint number = size; +- gint max = mp3dec_info->dec_param->mp3d_sampling_freq - mp3dec_info->fadein_factor; +- +- if (max > 0) { +- gint i = 0; +- number = MIN(size, max); +- for (i = 0; i < number; i++) { +- data[i] = (gint16)(data[i] * mp3dec_info->fadein_factor / +- mp3dec_info->dec_param->mp3d_sampling_freq); +- mp3dec_info->fadein_factor += FADEIN_STEP; +- } +- } +-} +- +- +-static void decode_mp3_fadein_steoro(MfwGstMp3DecInfo * mp3dec_info, GstBuffer *buffer) +-{ +- gint size = GST_BUFFER_SIZE (buffer) / 2; +- gint16 *data = (gint16 *)GST_BUFFER_DATA (buffer); +- gint number = 0; +- gint max = mp3dec_info->dec_param->mp3d_sampling_freq - mp3dec_info->fadein_factor; +- +- if (max > 0) { +- gint i = 0; +- number = MIN(size, max); +- for (i = 0; i < number; i += 2) { +- data[i] = (gint16)(data[i] * mp3dec_info->fadein_factor / +- mp3dec_info->dec_param->mp3d_sampling_freq); +- data[i + 1] = (gint16)(data[i + 1] * mp3dec_info->fadein_factor / +- mp3dec_info->dec_param->mp3d_sampling_freq); +- mp3dec_info->fadein_factor += FADEIN_STEP; +- } +- } +-} +- +- + /*================================================================================================== + + FUNCTION: mfw_gst_mp3dec_chain +@@ -2109,7 +2061,6 @@ static GstFlowReturn mfw_gst_mp3dec_chain(GstPad * pad, GstBuffer * buffer) + + size = GST_BUFFER_SIZE(buffer); + ts = GST_BUFFER_TIMESTAMP(buffer); +- decode_mp3_add_buf_to_list(mp3dec_info, buffer); + + gst_adapter_push(adapter, buffer); + +@@ -2125,7 +2076,6 @@ static GstFlowReturn mfw_gst_mp3dec_chain(GstPad * pad, GstBuffer * buffer) + GST_DEBUG("Size of ID3 Data = %d", mp3dec_info->id3v2_size); + } + if (size > mp3dec_info->id3v2_size) { +- decode_mp3_flush_buf_from_list(mp3dec_info, mp3dec_info->id3v2_size); + gst_adapter_flush(adapter, mp3dec_info->id3v2_size); + } else { + return GST_FLOW_OK; +@@ -2171,7 +2121,6 @@ static GstFlowReturn mfw_gst_mp3dec_chain(GstPad * pad, GstBuffer * buffer) + else { + fr_size = mp3_parser_parse_frame_header((gchar *) data, size, &mp3dec_info->strm_info); + if (fr_size.index < size) { +- decode_mp3_flush_buf_from_list(mp3dec_info, fr_size.index); + gst_adapter_flush(adapter, fr_size.index); + } + #if 0 +@@ -2302,7 +2251,6 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs + struct timeval tv_prof, tv_prof1; + long time_before = 0, time_after = 0; + guint loop_cnt=0; +- GstClockTime ts, diff; + + { + if (mp3dec_info->demo_mode == 2) +@@ -2352,18 +2300,6 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs + decode_out); + //g_print (RED_STR("mp3d_decode_frame() returns %d, error count %d\n", retval, err_count)); + +- ts = decode_mp3_get_timestamp(mp3dec_info); +-#if 0 +- if ((err_count > 0) && !IS_MP3_DEC_ERROR(retval)) { +- /* if this is the first correct output after error, reset the time offset */ +- if (GST_CLOCK_TIME_IS_VALID(ts)) { +- GST_ERROR ("Encountered error, " +- "reset time offset from %"GST_TIME_FORMAT" to %"GST_TIME_FORMAT"\n", +- GST_TIME_ARGS(mp3dec_info->time_offset), GST_TIME_ARGS(ts)); +- mp3dec_info->time_offset = ts; +- } +- } +-#endif + + #ifdef PUSH_MODE + if (mp3dec_info->dec_config->consumedBufLen>0){ +@@ -2372,11 +2308,9 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs + //mp3dec_info->dec_config->consumedBufLen = bufsize; + //} + //gst_adapter_flush(mp3dec_global_info->adapter, mp3dec_info->dec_config->consumedBufLen); +- decode_mp3_flush_buf_from_list(mp3dec_info, mp3dec_info->dec_config->consumedBufLen); + gst_adapter_flush(mp3dec_info->adapter, mp3dec_info->dec_config->consumedBufLen); + } + +- + #endif + if (IS_MP3_DEC_ERROR(retval)){ + err_count++; +@@ -2463,13 +2397,11 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs + if (mp3dec_info->dec_param->mp3d_num_channels == 1) { + GST_BUFFER_SIZE(outbuffer) = MP3D_FRAME_SIZE * 2; + num_samples = MP3D_FRAME_SIZE; +- decode_mp3_fadein_mono(mp3dec_info, outbuffer); + + } + if (mp3dec_info->dec_param->mp3d_num_channels == 2) { + GST_BUFFER_SIZE(outbuffer) = MP3D_FRAME_SIZE * 2 * 2; + num_samples = MP3D_FRAME_SIZE*2; +- decode_mp3_fadein_steoro(mp3dec_info, outbuffer); + + } + mp3dec_info->total_samples += num_samples; +@@ -2479,22 +2411,7 @@ static GstFlowReturn decode_mp3_chunk(MfwGstMp3DecInfo * mp3dec_info, guint bufs + time_duration = + gst_util_uint64_scale_int(loop_cnt, GST_SECOND, mp3dec_info->dec_param->mp3d_sampling_freq); + +- /* A/V sync for fuzzy stream: +- * Check the difference between calculated ts and accumulated ts. If it is +- * bigger than the threshold, reset the timestamp to the calculated one. */ +- diff = (mp3dec_info->time_offset > ts) ? +- (mp3dec_info->time_offset - ts) : (ts - mp3dec_info->time_offset); +- if ((GST_CLOCK_TIME_IS_VALID(ts)) && +- (diff > (time_duration * TS_RESET_THRESHOLD))) { +- GST_WARNING ("difference between calculated ts and accumulated ts is bigger than %d frames, " +- "reset time offset from %"GST_TIME_FORMAT" to %"GST_TIME_FORMAT"", +- TS_RESET_THRESHOLD, +- GST_TIME_ARGS(mp3dec_info->time_offset), GST_TIME_ARGS(ts)); +- mp3dec_info->time_offset = ts; +- mp3dec_info->fadein_factor = 0; +- } +- +- GST_BUFFER_TIMESTAMP(outbuffer) = mp3dec_info->time_offset; ++ GST_BUFFER_TIMESTAMP(outbuffer) = mp3dec_info->time_offset; + GST_BUFFER_DURATION(outbuffer) = time_duration; + GST_BUFFER_OFFSET(outbuffer) = 0; + +diff --git a/src/audio/mp3_dec/src/mfw_gst_mp3dec.h b/src/audio/mp3_dec/src/mfw_gst_mp3dec.h +index c45b8b6..e25e7a0 100755 +--- a/src/audio/mp3_dec/src/mfw_gst_mp3dec.h ++++ b/src/audio/mp3_dec/src/mfw_gst_mp3dec.h +@@ -110,14 +110,9 @@ G_BEGIN_DECLS + mp3_fr_info strm_info; + gint demo_mode; /* 0: Normal mode, 1: Demo mode 2: Demo ending */ + gint new_segment; +- +- /* buffer list for calculating timestamp */ +- GList *buf_list; ++ /* buffer list for calculating timestamp */ ++ GList *buf_list; + gint flushed_bytes; +- +- /* for fade in after error frame */ +- gint fadein_factor; +- + } MfwGstMp3DecInfo; + + typedef struct _MfwGstMp3DecInfoClass { +diff --git a/src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c b/src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c +index 1fb883f..dba400a 100755 +--- a/src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c ++++ b/src/audio/vorbis_dec/src/mfw_gst_vorbisdec.c +@@ -431,7 +431,7 @@ void mfw_gst_vorbisdec_set_caps_channel_pos(GstCaps *caps, gint channum) + { + GValue chanpos = { 0 }; + GValue pos = { 0 }; +- ++ + g_value_init (&chanpos, GST_TYPE_ARRAY); + g_value_init (&pos, GST_TYPE_AUDIO_CHANNEL_POSITION); + +@@ -699,7 +699,7 @@ mfw_gst_vorbisdec_chain(GstPad * pad, GstBuffer * buf) + GST_DEBUG(GREEN_STR("time_offset = %lld", vordec_info->time_offset)); + } + if (vordec_info->codec_data){ +- gst_adapter_push(vordec_info->pAdapter, vordec_info->codec_data); ++ gst_adapter_push(vordec_info->pAdapter, gst_buffer_ref(vordec_info->codec_data)); + vordec_info->codec_data = NULL; + } + gst_adapter_push(vordec_info->pAdapter, buf); +@@ -763,7 +763,7 @@ mfw_gst_vorbisdec_chain(GstPad * pad, GstBuffer * buf) + gst_tag_list_add(list,GST_TAG_MERGE_APPEND, GST_TAG_AUDIO_CODEC, + codec_name,NULL); + gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_BITRATE, +- (guint)(psOVDecObj->ave_bitrate),NULL); ++ (guint)(psOVDecObj->ave_bitrate),NULL); + gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_MFW_VORBIS_SAMPLING_RATE, + (guint)vordec_info->sampling_freq,NULL); + gst_tag_list_add (list, GST_TAG_MERGE_APPEND, GST_TAG_MFW_VORBIS_CHANNELS, +@@ -851,12 +851,12 @@ mfw_gst_vorbisdec_change_state(GstElement * element, + memset(psOVDecObj, 0, sizeof(sOggVorbisDecObj)); + + break; +- case GST_STATE_CHANGE_READY_TO_PAUSED: ++ case GST_STATE_CHANGE_READY_TO_PAUSED: + gst_tag_register (GST_TAG_MFW_VORBIS_CHANNELS, GST_TAG_FLAG_DECODED,G_TYPE_UINT, + "number of channels","number of channels", NULL); + gst_tag_register (GST_TAG_MFW_VORBIS_SAMPLING_RATE, GST_TAG_FLAG_DECODED,G_TYPE_UINT, +- "sampling frequency (Hz)","sampling frequency (Hz)", NULL); +- ++ "sampling frequency (Hz)","sampling frequency (Hz)", NULL); ++ + vordec_info->pAdapter = gst_adapter_new(); + init_tsmanager(&vordec_info->tsMgr); + +diff --git a/src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c b/src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c +index 5febe48..82230f5 100755 +--- a/src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c ++++ b/src/misc/v4l_sink/src/mfw_gst_v4l_buffer.c +@@ -280,6 +280,7 @@ MFWGstV4LSinkBuffer *mfw_gst_v4l2_new_swbuffer(MFW_GST_V4LSINK_INFO_T * v4l_info + switch (v4l_info->outformat) { + case V4L2_PIX_FMT_RGB565: + case V4L2_PIX_FMT_YUYV: ++ case V4L2_PIX_FMT_UYVY: + buf_size = (v4l_info->width+v4l_info->cr_left_bypixel+v4l_info->cr_right_bypixel)* + (v4l_info->height+v4l_info->cr_left_bypixel+v4l_info->cr_right_bypixel)*2; + +diff --git a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c +index db6da3a..c6a6b6c 100755 +--- a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c ++++ b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c +@@ -1209,6 +1209,10 @@ mfw_gst_v4lsink_set_format (MFW_GST_V4LSINK_INFO_T * v4l_info, GstCaps * caps) + if (v4l_info->fourcc == GST_STR_FOURCC ("I420")) { + GST_WARNING ("Default mode: I420"); + } ++ else if (v4l_info->fourcc == GST_STR_FOURCC ("UYVY")) { ++ GST_WARNING ("set to UYVY mode"); ++ v4l_info->outformat = V4L2_PIX_FMT_UYVY; ++ } + else if (v4l_info->fourcc == GST_STR_FOURCC ("NV12")) { + GST_WARNING ("set to nv12 mode"); + v4l_info->outformat = V4L2_PIX_FMT_NV12; +@@ -1918,6 +1922,7 @@ mfw_gst_v4lsink_buffer_alloc (GstBaseSink * bsink, guint64 offset, + case V4L2_PIX_FMT_RGB565: + frame_buffer_size = (v4l_info->width * v4l_info->height) * 2; + break; ++ case V4L2_PIX_FMT_UYVY: + case V4L2_PIX_FMT_YUYV: + case V4L2_PIX_FMT_YUV422P: + frame_buffer_size = (v4l_info->width * v4l_info->height) * 2; +@@ -2044,6 +2049,7 @@ mfw_gst_v4lsink_base_init (gpointer g_class) + guint32 formats[] = { + GST_MAKE_FOURCC ('I', '4', '2', '0'), + GST_MAKE_FOURCC ('Y', 'V', '1', '2'), ++ GST_MAKE_FOURCC ('U', 'Y', 'V', 'Y'), + GST_MAKE_FOURCC ('Y', 'U', 'Y', 'V'), + GST_MAKE_FOURCC ('Y', 'U', 'Y', '2'), + GST_MAKE_FOURCC ('N', 'V', '1', '2'), +diff --git a/src/parser/aiur/src/aiurdemux.c b/src/parser/aiur/src/aiurdemux.c +index e2567d9..10427a8 100755 +--- a/src/parser/aiur/src/aiurdemux.c ++++ b/src/parser/aiur/src/aiurdemux.c +@@ -2418,7 +2418,7 @@ aiurdemux_parse_video (GstAiurDemux * demux, AiurDemuxStream * stream, + case VIDEO_MPEG2: + //mime = "video/mp2v"; + mime = +- "video/mpeg, systemstream = (boolean)false, parsed = (boolean)true"; ++ "video/mpeg, systemstream = (boolean)false, parsed = (boolean)true, mpegversion=(int)2"; + codec = "MPEG2"; + break; + case VIDEO_MPEG4: +diff --git a/src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c b/src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c +index 1ae390c..8e3a591 100755 +--- a/src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c ++++ b/src/video/mpeg4asp_dec/src/mfw_gst_mpeg4asp_dec.c +@@ -69,9 +69,6 @@ + "video/x-h263, " \ + "width = (int) [0, 1280], " \ + "height = (int)[0, 720]; " \ +- "video/x-divx, " \ +- "width = (int) [16, 1280], " \ +- "height = (int)[16, 720]; " \ + \ + "video/x-xvid, " \ + "width = (int) [16, 1280], " \ +@@ -1819,4 +1816,4 @@ GST_PLUGIN_DEFINE(GST_VERSION_MAJOR, /* major version of Gstreamer */ + plugin_init, /* first function to be called */ + VERSION, + GST_LICENSE_UNKNOWN, +- FSL_GST_MM_PLUGIN_PACKAGE_NAME, FSL_GST_MM_PLUGIN_PACKAGE_ORIG) +\ No newline at end of file ++ FSL_GST_MM_PLUGIN_PACKAGE_NAME, FSL_GST_MM_PLUGIN_PACKAGE_ORIG) +diff --git a/src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c b/src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c +index 44266d8..dc7ab44 100755 +--- a/src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c ++++ b/src/video/vpu_dec.full/src/mfw_gst_vpu_decoder.c +@@ -2664,7 +2664,7 @@ mfw_gst_vpudec_prep_gstbuf (MfwGstVPU_Dec * vpu_dec) + } + retval = TRUE; + memcpy (GST_BUFFER_DATA (vpu_dec->pushbuff), +- vpu_dec->frame_virt[vpu_dec->outputInfo->indexFrameDisplay], ++ GST_BUFFER_DATA(vpu_dec->outbuffers[vpu_dec->outputInfo->indexFrameDisplay]), + vpu_dec->yuv_frame_size); + vpu_ret = + vpu_DecClrDispFlag (*(vpu_dec->handle), +@@ -4431,8 +4431,7 @@ mfw_gst_vpudec_setcaps (GstPad * pad, GstCaps * caps) + else if ((strcmp (mime, "video/x-pn-realvideo") == 0) && + HAS_RV_DECODER (vpu_dec->chip_code)) + vpu_dec->codec = STD_RV; +- else if (((strcmp (mime, "video/x-divx") == 0) || +- (strcmp (mime, "video/x-xvid") == 0)) && ++ else if ((strcmp (mime, "video/x-divx") == 0) && + HAS_DIVX_DECODER (vpu_dec->chip_code)) { + gint divx_version; + gst_structure_get_int (structure, "divxversion", &divx_version); +@@ -4445,7 +4444,10 @@ mfw_gst_vpudec_setcaps (GstPad * pad, GstCaps * caps) + vpu_dec->mp4Class = MP4_DIVX5_HIGHER; + else + vpu_dec->mp4Class = MP4_DIVX4; +- } else if ((strcmp (mime, "image/jpeg") == 0) && ++ }else if ( strcmp (mime, "video/x-xvid") == 0) { ++ vpu_dec->codec = STD_MPEG4; ++ vpu_dec->mp4Class = MP4_XVID; ++ }else if ((strcmp (mime, "image/jpeg") == 0) && + HAS_MJPEG_DECODER (vpu_dec->chip_code)) + vpu_dec->codec = STD_MJPG; + else { +@@ -4609,7 +4611,7 @@ mfw_gst_vpudec_gen_sink_pad_caps (CHIP_CODE chip_code) + caps_list[i++] = "video/x-pn-realvideo, %s;"; + + case CC_MX37: +- caps_list[i++] = "video/x-xvid, %s, " "divxversion = (int)[3, 6];"; ++ caps_list[i++] = "video/x-xvid, %s;"; + + caps_list[i++] = "video/x-divx, %s, " "divxversion = (int)[3, 6];"; + +diff --git a/tools/gplay/gplay_header.tgz b/tools/gplay/gplay_header.tgz +deleted file mode 100644 +index 1ee46bb2e9fea9257f252f6ca477132c3a9d7d14..0000000000000000000000000000000000000000 +GIT binary patch +literal 0 +HcmV?d00001 + +literal 8807 +zcmV-tBADGDiwFRF2{BFp1MFRUbKADE@8A9uXfnM=^2nBKCr(aOx0NN@)`=dj9!Y#p +z&u}OSve;0hE+2N(PVQ&Fy9YdWj7YhEvWR%({nVXgMhy~El;jh(ridsD;WY{-}9)Ujv5)OXwp +zYunR(*03x_r99?xkGnT~whz?czv>R#5tK&@(_@x7aSeCP;Nu)9GS8X&w}#8>Z0!VW +zYS>VIW_rGBP6D4Z(`SY~t2!xF(7o7RrU3$!!)0gw!m~~_Y=iKJ5 +zVX@0#VwqDc-Z7`#_Bb;N^|N6|zw9)ww1M8zPRHl^g|6>Bg*4OVdC4$V=wUws +zJ615`-cM|I%Tt9qMP~M+=g&-MfAP~!wHm&BGLLHZxwpS~vXhzUuUDK>H(Z=s&IEw( +z8dKLPW~GXy7|k5a0{OETwbVp#5t!=k_w1L6YXUT}T($#flx#=71nFG`ei=(Bs5;sk +zt)ut)J&nQkD_>?UsH4{(bQ>LP!%=P>;upAh!a;+JJ(e3&=G(9U&d8wzIRtKY-@7L8o;zwi}Uf%ekJL +z7O#h+^liI$bQqF~49UwuyEiJ$m!Lun_uAXv-!HRLn$pkn6^MpE&q%5;D*f~+mM_0j +z`6BPiJ5Rag@!aa6F`^XYvtjPb%GfyV4@M=JZzhiGm&!Y&fUspr^|DEkZDuS@tqU_i +z<6KjG6=W$<56L!$2+bV!C;M$j_5>*5lE_zPKb^1$MAzIGMy5{5rE)n|4xiGEW6sLi +zJtFa|CyG>e=W{FY7A4SvAT{OsZZ(qQqx}4l-7cVeO0}|rRX_uBnAzaQaHs*q{KLvE +z7XcH^mjT50A|>6>R1=^4;ISWO><8}^*eYO5`M=puDv3h)z!U=Vt?L!|)M@wRr?YXd +zIcoQNx}L%(EjIPL;UijoANk2j?4SPYa|LWGVO7eR{GKYR8nd;NWmb@<)F`4UJ~cg# +zVB*A?wP1p*hVbe7bOln1|0_N9r1@m$PgQH~1MEb~5-0dNGOWC#!-7#Jhg4k@!_Tp@ +z$;=75vk9c!SVhI9;)@r3$#&&?ESiDA$4_baor+{xSXBCJyIOzCCu$|SOJxi`Y#qh^ +z{{i^@FB1O$vxDPjkN*Fccpm-#NB{rP|Nm_NAAA|i_Y2L0@##6DRw;}0c!Wq$eqoq+ +zAP7FAoDm;$>dfG~&B4+jxor))iI78dz8iG)(bc6k)GxBUhG_EkSir_PLqkVdPtZ?5 +zMzRTP_`(Qc+zyst%_Iy?tnsWn5^nqnt5w2@`uiVQ&mmGMtbECB914z*UqS_yNH(=r +z`^~#bY}yBENJ{W1a58V+6_Dr-la@o8MAyXd2M7()`Izj|IePCt7&mu-fT9fv5EKMJ +zOLq0bSgk<3bGVi?G_9pK`@OR^yu#GeM)P$g){0D;s64QFo?`_Rn?Z>ptU<%LI8s2l +z&rK+YO`I6h_r+}VM|xvCy3og9Kqsq5?ahn;bdqcS0kvQa`)s&CU*4Gd=8fSCjUvzt +z2d(3Z(ai0syI!Fg?6~U;($p~79x>vF{ciat7MV0nP7usMLtE^A#QdfXavI4CC0V=6_AaSxDNO|biX7ji>&TYIkEYmeHEPW!(@Xo%S}jN?dN +zX*#}wRTmBcEHl`aFTq_L&dLT0kz-_)Hd5^ +z7bLr4f+T(vBT{u2GSJeRgR4t&iO(9~FpHKF16pik0Pz_ofkT*KS}?XqR-@JKorCAu +z?GLVEoh|6XP;$93W0nJUlMouyo;yoJg+y~nza2ogY#}Wsw)@i__Xb+Cf8N7Br`O$n +zON$TOu?=&wb8S;cBi>6Cwynwtc-3?;L|Xl>K5TR^J6cqxVCHp}uTUYKbAQ0E(d;2^ +zn?QW%V}P}SsZD3OH2urF>Yh%!+a5vXa-8F&7OnLZ@Q;ph)X@82dP-J)4Y<1=Q2Nj} +z{9ud9h5DNPE>t+$sFL)E38}Y)G@ZG|l5Zc2vIW16wLx2uC(0qUdjNCVXz9Za(Cm%7 +zr=eN~pZHT7KJIk%^KoMUWVMk#Y@hcUod^KAOqNhhOu6fubEWS{QQ-jdg4N1#{qp{u +z)Cc@?-s=KHl~|P|{~%BohC4%x?ltIq#^9X>zasa7L7#_itdCABfi1o8gw0z&_(OX+JcJHR0PZ?$sB +z6etD3e}4O9lxzb`YqJ&vg_hvs8GGJ}Pf;$UN*897RA0)H0T+c&pV2fr;Z-Lb6Ox7wV@TQ5J6(oUDOx{xs3f +zkLsy?)}FI9%0+xa7q%LhXbTRbE3`!{69ygoFY#pxK8?Sh(Jb#JX3!~forOIm6PT~D7Q`Ds2G6aD{;>fLw>w=Jo-*WsYGB8Wy8?!Zl_bM` +zw0p=r5cXiaa%@hd8HR-u@fxXxF26G3QezvX3dgmK7k}-r%olqiFgTuJ{T17Pw#5Gq +zU(^nsC-?sxz^ljj-xqiugYwl-hA)2ExQ}qv#0GCVS4q!k{@L@@q_|&T<7K0BuBzdWsBw%!J`RRb>lm +za!ndAub2aLCul`ZeHIP3kPE#uY;zS@!qmg+O&f>S%5|pPBMxE@RKE;t>2avq2K>gP +z0ek@?&T-eT@a10e5wy@JWp6No0?!pZd)@9{tA*bh6wXpLMVcT=Dms+9ABU*E4YWBnKF +z*>q3l?Xc?)(Y4FlU>Bx-+Wxw)w3)8gA8D^>w8B3#~vyhYxb_5=)cVpus}FhjIDTD0>;59)rsAkPw}vJb^sJiauFbD(;` +z9GPD4c%;3Hgf7MIy;3R7L-`Olv7{+9`@L3*K%9bLfCyk$5WzezJmjZD*~*gIuKaqE +z#hDnwUHn$U@JfZ9H9AAB!thJE{QU|3{kit)ockTa^C|3CDrdGv)ZfyEqe1^FWTDiw +z9FJeX__BD&3ec_HhiIqYd>w1lTf_9v9Crx%+~WPo?|kZq#9<2UogoZb`Q+qnqdmfn +zIa+h1W0euo7=;}Vw1R5Ky?Di?0k=3vr+{lqW3anWz*Y-1KC-)PsC65n$1rDw0?K9T +zGW;IzF(It7!-k5m?6eYiA*x#UyKQwfNCCR<=IC$N_iypf-8Z$uKdXWH{s@A;a|k?lMd?MWi{>tSlTUbt{f? +zt6gGOTe8B9Jf$#WyZE<~G1akM`cO#{2RW+WvEEOt61UWWfJnnCM>+;tW2EV$3tX@& +ziL4c}C}?x!w(){uBnp+;iL^XN^j!+g%iV+8;WHREol8-NJ{*Dfs1LwBZTGZt39Bk+ +zZD37R)wz7rZ@0=NWQ(Lxh$1^Vp-=2*mL7!c70aIFwRbRnWvj_j%FHEM{#U=<3!9mv +zAXIupS5{b5##M$KrQFf9OVll~HV-Y%SNJxo$hihBXv0hxD+8iEGNVH`ouCe^LY5xZ@iPDU%9N|RzP6X#oIrfY6pI8mI8A+Fk!gyj~#}1Yg +zY@#i`Q{?0qkCP{yAsv-mV|?dc9z$FXvBjm(vL;2ilY#~OSKoEk-v%hy-eN?OK1>`D +z*;oZi1{{_%egAD>Av~O7G?LC&91U!10ThA#?SQcziljprheEV921Z;p7pjvmXBJ49 +z$nrsomVGdw#C%c7a}x8A%Jyk-HWI2td0fhAEmS8P`2Oyw6ls-g-x?tab&2q-b5sci +zv%eYfK%X=HR{G-^3Chzc1TPgtK=5vjP@e9DoYQ2IQ1Oa)dDzLnz@U`uh>Fk+H7fBmg#Y{rGX98|JzBm=r8J&t)Yx~N3wJjm5GTt6)BOhl*N9!xMxu~ +zd51Z(dW%5K@2zOr2g6+WXO)y6v}N+n4&lYzKrxHUVAocEU<2Xb9hssDJUg%$gC(5F +zMSL+!cTVKk$3h;Ph^Yq|j>1GE^6!pSYK+E%mW42;VyQ70J@eW&tb7y&hTkG)YPa&I +zp+=K6MPa4$5kpPP+Hy?hJ7du)C=0?*n2GL%@K>LS?%OwapK{_|$+BYTEI)|OvIF;# +z=_nRmPj&26Y{W2_&2MEsOizO@NaXd_rev%X2F}^0wAut9wmTW_HEv}yeGiXvar_?O +z=9&~0%*e!F$`A>qDvEjCrb4N)4vNIpb4O0rk^`+c++o2XrkV)fNaS6vx?<>hx3pUp +zAIjkxgZxel2wCG$?O-QEaB6_S(}w%peiMTO_%S@S?HRfb_x8!LFb}}9`5k)oUJ%Cc +ziKRrABl5sauWLjR;~!8XNf<9fb-h0ptnZYzqXjT*tQMO2< +zfBZ&h*9^;m=^7u?1gyf-`#l;1r7T@t^@wp$?yB}4XbV)~Y2`Y87 +z2Q5>k5I|{|1}<)^XWkn4Te7LJqs-}h1%a9#ax><@kfqr3)~YrORaq?34pUKEsoU!LNl(5KlPp1J9*;Pro+58 +zm_GH*t#7+4*Sx9ke5{9!!Q;cC4R{E-^uIM3z{DLLbg0yZA&U_vE>3P-i=&tE>rz+> +z5IhyHbuU3aPrzLMn9iWR(R!ooTjert))N96AmW{2*w0i(r@bk`^}8Nn%g=#F$v+w*hC#(Vre^k#e;#iAQ7b6u}c|9?&2 +zD?Q;nd>z|<|Ka)JVaonLJbJYMzr^!+{`=AXf3*Mq8v9?~wU}rBZ<7C#^QoV90<~Jj +z9-MKQgXPsexaXUB>*d6;ysUXnwe3_pZ};>j-n`ZsvW+DUc9Y7Y^;%(ukK(97bvHsQ +z64{SY%OW6W)nxfkyrmmAyuV}<7leo*iAKJd;h`lwvr(EZv1q> +z!LcX{M#q-2_%3dyh?2+8@=C@|04p*&*fKtpiIO^gR+o3Ot6Vg&=$~{xVa#lh3T#<7 +z;gV!Kbp4X31##5wNF{|}kU;Q`bdqfg5^!dd$wV}ynE`E(hBnSZijO45c$*Z5nQ@Ca +zU^dYJu@Hr88Ob8?YLaUiV!0bfJssw6_vO#FLr#sRrR39$JRfVd~>Z+vRn}2XcPORrd$n6~vMRgZnF7YHyMO0G7R${Bz%JGU0 +zxePV!HC~Fx)CVdbt}fk`LUTM|>H|^0)mcE9Fun@`(1%QY5N)9SBm~8c2)ASug~?uf +zgC}z^W<#ZHM--r9s*C(^uSWc+Jr*sO_6~5NI%_$1 +zFxK$5IWoA%6Z5PVPPw?28|I?}gK8x_`db$COCKQT(MuEvYR}q}caIt?Gjip^*1L_> +zNyHNnzUXbl>IO%!e)ufoTEgMD*+i2oavgHC9BnbkEV#Ml5$v=^w~{D$>!L~tSKqVl +zcHCS$IUHYJ_6MW*b(V8(063gh>E%6*1&p+`H|?gTk9&LC_=W+e-(f@z+ +z|Nk2Qf816-P?aA9NaWeN6j-q2#r}*7!S212`axbKsOZqT7#r8(1zn~k_1rzogFOi +zLPFf^F&y&B+T)og|hDa5c1;pmm3#!TL}M-~MctQCEoY(in4_^{F!&sKM2x89}V5wK{qCKl^ +z%R-(=V!-QT764^HBH0z2><@SB|EZ&-#3uM(;X$2E!Fo3U;+WUF6}lqL_Ud&V +zhH!@R0a*j1@AA@~qH%65ja>Fr@CM%UmrvJs_K9>3=Hy&%dbuxpLsB+;0w@p9gM6?V}a#T?OG=+T@QIF2p4Bp@k)IPk4|h +z1WBOA;CBla>Ld6reh2@+_B&Iz#I%e9UHR=|eL#2D0;3QiYIN`U!Jpt&DgJx!;j|V1 +z!_?!8aqu91p(MOa{Jx!UJ^52$#k)y-QpU*aF|nU#zwZC=GUPi+QV +z`IV2MR6f<+>G_x0NHh*gUh=>!r#@Gi{Y)wkvvXjU0Q>XZwk~ +zdgDdCp132svHLA6syuLbzuB|czR2H~)_Hny*Y02cvaf7DRJmiJ(Txk!WS{L9^oTp| +zNV+;XF!Wb7lR$U7_2=l9YF~LsiOV=|qsI`Q%EFrw&ZWOoRE1J#&2UU6EIzt5NRX^& +zxlO>)u +zS9aebMI%KXW~~0$D1dKXyMsvc$gf8>z@L=CN4iWTV*T-~5WZ~>c&7w$tIX2A +z$Sm#nNL~48OJ@nMberOGmN#3iYgl0D_W!X_+xwJgZ#o~(g3B*xMqF3X1@h2p6Nlx1 +z&~-OLG;$%}7f$h?*hwBpr|GyL&wzY{m`?M+obKQz20JUl_O{u2C*fY^!HJ;T0CAok +zEsB39s7Du2vHQ1Dy3th@?kWAj2-aaE;Ubvpp<}l#-X7fadCx{>GmWAWE@BTbEvaUXQzMioG8wat~zcdrD{uL>xlM(`pt-{i1~K@@k9Fjd#v +zFuI;A9>@1Uy#a@5k5^#b7R`Xix;{23xW4PO1fV`LDZruNjK{i8?rg&eq!;DD3UQ;J +zrUy}g3kvXsh=&e@S#NMnq{GH%tq#M{U}%lpUwIo>Alw*Dd>%nr-R3ZFjfj8}Q`0i? +zb_x=wH8axCSds> +zVi`!Yyy9(f-%Z{jF`l_U^U;=!E{$tKze-L$g?d%IsflNT6f4pB;89Mj`^;^ucz5%7 +znP2wNScWZe>P~*K=ws%VSay*|;+pu{_;`_)g-gHTLcNJmTI1h}4kW+py}e*$sPy^O +z#+%R&!Y9<5-)Ie_fTsZLDXfr(dsZ5|n2zoq;>Ite$4hkdV8OWE|MBdJgLq*|}$oO$-SlwdA +zgkKS4*Uu`WDa%keL5ip(CdPJ&%c#+-49!S9B;dByf}(3fi2kwzu>634{RGmzOkhVfnoyyWpxN;0wBp_QFpiskGdC;&_Cq +zv;1yfq@Dgr2~yk+zIWhar3E?eZbvR4$8HGDm#ZD{t49sHBUd#_@S`m|7gpnkPav~8 +zQwa=2vOF|;Ea4K;!Zh~(+zp*}v}0OMVM}B@zf((*np4!_!XJInteSc8KDgWPB@W~) +z@qbNjL~F4nfH+XPQaoF;`R$^s1$9Ha4GLCC#Tz@x}nMm*xrA^9BDw|ISX*PSrt%OgyaPd*7%NBXvHm2{qh;*s9VL=MGj +z(xfgCiUi$xUhWylk({Dl7DJX2g^mWx4DNN~gUUqjyHChyb3b@C+kZ?Y_W!4+P?om; +zhaZ*w|5r(s{eNZuSK0r4vHhQ5_Me_3Ndk)0k@qNX7>if#7@`fcb>kB=zF{m?lf4%l +z3Hgl|^+bM)qHRqezyA8TetwLzAHMQUZ3CU1H6dRcV>7%#N7QM1DeM +z{Ah>X0t7#)ITxYPFuw~!e~_&x4#1atsv;^lClmay8M-hX50nCaGS{?P%1000 ) +- { +- printf("Invalid volume!\n"); +- break; +- } + pplayer->klass->set_volume(pplayer, (volume)); + break; + } +diff --git a/tools/gplay/mfw_gplay_core.c b/tools/gplay/mfw_gplay_core.c +index 8361499..4705cac 100755 +--- a/tools/gplay/mfw_gplay_core.c ++++ b/tools/gplay/mfw_gplay_core.c +@@ -100,7 +100,7 @@ fsl_player_ret_val fsl_player_stop(fsl_player_handle handle); + fsl_player_ret_val fsl_player_seek(fsl_player_handle handle, fsl_player_u32 time_ms, fsl_player_u32 flags); + fsl_player_ret_val fsl_player_set_playback_rate(fsl_player_handle handle, double playback_rate); + +-fsl_player_ret_val fsl_player_set_volume(fsl_player_handle handle, /*double*/fsl_player_s32 volume); ++fsl_player_ret_val fsl_player_set_volume(fsl_player_handle handle, double volume); + fsl_player_ret_val fsl_player_mute(fsl_player_handle handle); + fsl_player_ret_val fsl_player_snapshot(fsl_player_handle handle); + fsl_player_ret_val fsl_player_set_video_output(fsl_player_handle handle, fsl_player_video_output_mode mode); +@@ -1170,18 +1170,18 @@ fsl_player_ret_val fsl_player_stop(fsl_player_handle handle) + } + + /* accept 0-1000, corresponding as 0-10.0*/ +-fsl_player_ret_val fsl_player_set_volume(fsl_player_handle handle, fsl_player_s32 volume) ++fsl_player_ret_val fsl_player_set_volume(fsl_player_handle handle, double volume) + { + fsl_player* pplayer = (fsl_player*)handle; + fsl_player_property* pproperty = (fsl_player_property*)pplayer->property_handle; + GValue value = {0}; + +- if( volume > 1000 || volume < 0 ) ++ if( volume < 0.0 ) + { + FSL_PLAYER_PRINT("Set volume failed: Invalid volume=%lf which should be between [0, 1000]!\n" ,volume); + return FSL_PLAYER_ERROR_BAD_PARAM; + } +- pproperty->volume = (double)volume/100; ++ pproperty->volume = (double)volume; + g_value_init(&value, G_TYPE_DOUBLE); + g_value_set_double(&value, pproperty->volume); + g_object_set_property(G_OBJECT(pproperty->playbin), "volume", &value); +diff --git a/tools/gplay/mfw_gplay_core.h b/tools/gplay/mfw_gplay_core.h +index 85323b4..1d9ea13 100755 +--- a/tools/gplay/mfw_gplay_core.h ++++ b/tools/gplay/mfw_gplay_core.h +@@ -221,7 +221,7 @@ typedef struct{ + fsl_player_u32 features; + + char * video_sink_name; +- char * audio_sink_name; ++ char * audio_sink_name; + + char * visual_name; + +@@ -249,7 +249,7 @@ struct _fsl_player_class + fsl_player_ret_val (*seek) (fsl_player_handle that, fsl_player_u32 time_ms, fsl_player_u32 flags); + fsl_player_ret_val (*set_playback_rate) (fsl_player_handle that, double playback_rate); + +- fsl_player_ret_val (*set_volume) (fsl_player_handle that, fsl_player_s32 volume); ++ fsl_player_ret_val (*set_volume) (fsl_player_handle that, double volume); + fsl_player_ret_val (*mute) (fsl_player_handle that); + fsl_player_ret_val (*snapshot) (fsl_player_handle that); + fsl_player_ret_val (*set_video_output) (fsl_player_handle that, fsl_player_video_output_mode mode); diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0002-meta-fsl-arm-fix-segment-fault-in-v4lsink-for-yocto.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0002-meta-fsl-arm-fix-segment-fault-in-v4lsink-for-yocto.patch new file mode 100644 index 000000000..58c3b38e6 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0002-meta-fsl-arm-fix-segment-fault-in-v4lsink-for-yocto.patch @@ -0,0 +1,43 @@ +From: Javier Viguera +Date: Mon, 25 Nov 2013 10:26:37 +0100 +Subject: [PATCH] meta-fsl-arm: fix segment fault in v4lsink for yocto + +Signed-off-by: Javier Viguera +--- + src/misc/v4l_sink/src/mfw_gst_fb.c | 4 +++- + src/misc/v4l_sink/src/mfw_gst_v4lsink.c | 2 +- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/misc/v4l_sink/src/mfw_gst_fb.c b/src/misc/v4l_sink/src/mfw_gst_fb.c +index 8c251da..291c2a1 100755 +--- a/src/misc/v4l_sink/src/mfw_gst_fb.c ++++ b/src/misc/v4l_sink/src/mfw_gst_fb.c +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2009-2011 Freescale Semiconductor, Inc. All rights reserved. ++ * Copyright (c) 2009-2012, Freescale Semiconductor, Inc. All rights reserved. + * + */ + +@@ -236,6 +236,8 @@ gboolean mfw_gst_fb0_get_resolution(MFW_GST_V4LSINK_INFO_T *v4l) + ret = ioctl(v4l->fd_fb, FBIOGET_VSCREENINFO, &fb_var); + if (ret < 0) { + g_print("Unable to get resolution value\n"); ++ v4l->fullscreen_width = 1024; ++ v4l->fullscreen_height = 768; + return FALSE; + } + v4l->fullscreen_width = fb_var.xres; +diff --git a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c +index c6a6b6c..dfdb926 100755 +--- a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c ++++ b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c +@@ -1431,7 +1431,7 @@ mfw_gst_v4lsink_change_state (GstElement * element, GstStateChange transition) + g_mutex_lock (v4l_info->flow_lock); + v4l_info->gstXInfo->running = FALSE; + g_mutex_unlock (v4l_info->flow_lock); +- if (v4l_info->x11enabled) { ++ if ((v4l_info->x11enabled) && (v4l_info->gstXInfo) && (v4l_info->gstXInfo->event_thread)) { + g_thread_join (v4l_info->gstXInfo->event_thread); + } + if (v4l_info->gstXInfo->xwindow) { diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0003-meta-fsl-arm-fix-missing-sys-types.h.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0003-meta-fsl-arm-fix-missing-sys-types.h.patch new file mode 100644 index 000000000..ec360d3f6 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0003-meta-fsl-arm-fix-missing-sys-types.h.patch @@ -0,0 +1,26 @@ +From: Otavio Salvador +Date: Fri, 22 Nov 2013 17:54:22 +0100 +Subject: [PATCH] meta-fsl-arm: fix missing sys/types.h + +Fix a build failure due to missing uint definition + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador +Signed-off-by: Javier Viguera +--- + src/misc/v4l_sink/src/mfw_gst_fb.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/misc/v4l_sink/src/mfw_gst_fb.c b/src/misc/v4l_sink/src/mfw_gst_fb.c +index 291c2a1..18d4f7f 100755 +--- a/src/misc/v4l_sink/src/mfw_gst_fb.c ++++ b/src/misc/v4l_sink/src/mfw_gst_fb.c +@@ -39,6 +39,7 @@ + + #include + #include ++#include + //#if ((!defined (_MX233)) && (!defined (_MX28)) && (!defined (_MX50))) + //#include + //#else diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0004-meta-fsl-arm-Use-library-s-SONAME-in-dlopen.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0004-meta-fsl-arm-Use-library-s-SONAME-in-dlopen.patch new file mode 100644 index 000000000..4eaef7173 --- /dev/null +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0004-meta-fsl-arm-Use-library-s-SONAME-in-dlopen.patch @@ -0,0 +1,29 @@ +From: Javier Viguera +Date: Tue, 21 May 2013 16:52:52 +0200 +Subject: [PATCH] meta-fsl-arm: Use library's SONAME in dlopen + +The 'libmfwba.so' symbolic link is only installed with the development +package, and without that symlink some gstreamer pipelines (mostly using +mfw_isink) fail with: + +Can not open dll, libmfwba.so: cannot open shared object file: No such file or directory. +Caught SIGSEGV accessing address (nil) + +Signed-off-by: Javier Viguera +--- + libs/vss/vss_common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libs/vss/vss_common.c b/libs/vss/vss_common.c +index 757c2fc..2044051 100755 +--- a/libs/vss/vss_common.c ++++ b/libs/vss/vss_common.c +@@ -86,7 +86,7 @@ static void * g_dlhandle = NULL; + void open_allocator_dll() + { + char * errstr; +- g_dlhandle = dlopen("libmfwba.so", RTLD_LAZY); ++ g_dlhandle = dlopen("libmfwba.so.0", RTLD_LAZY); + + if (!g_dlhandle) { + printf("Can not open dll, %s.\n", dlerror()); diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0001-gplay_fullscreen.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0005-gplay_fullscreen.patch similarity index 98% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0001-gplay_fullscreen.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0005-gplay_fullscreen.patch index 814756735..700890afb 100644 --- a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0001-gplay_fullscreen.patch +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0005-gplay_fullscreen.patch @@ -32,7 +32,7 @@ index 8c2ed72..b85879a 100755 return ( mfw_gst_v4l2_set_crop(v4l_info, width, height) ); diff --git a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c -index 20bf126..a3ba4a6 100755 +index dfdb926..3598fdb 100755 --- a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c +++ b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c @@ -976,7 +976,7 @@ mfw_gst_v4lsink_show_frame (GstBaseSink * basesink, GstBuffer * buf) @@ -45,7 +45,7 @@ index 20bf126..a3ba4a6 100755 return GST_FLOW_OK; } diff --git a/tools/gplay/mfw_gplay_core.c b/tools/gplay/mfw_gplay_core.c -index 8361499..04be21b 100755 +index 4705cac..e5569fc 100755 --- a/tools/gplay/mfw_gplay_core.c +++ b/tools/gplay/mfw_gplay_core.c @@ -1583,6 +1583,9 @@ fsl_player_ret_val fsl_player_resize(fsl_player_handle handle, fsl_player_displa diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0002-add-fb-dev.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0006-add-fb-dev.patch similarity index 92% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0002-add-fb-dev.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0006-add-fb-dev.patch index 13504b703..8a7fac14a 100644 --- a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0002-add-fb-dev.patch +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0006-add-fb-dev.patch @@ -18,10 +18,10 @@ Signed-off-by: Javier Viguera 5 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/misc/v4l_sink/src/mfw_gst_fb.c b/src/misc/v4l_sink/src/mfw_gst_fb.c -index 8c251daa5df4..a0df95f09494 100755 +index 18d4f7f..d03a874 100755 --- a/src/misc/v4l_sink/src/mfw_gst_fb.c +++ b/src/misc/v4l_sink/src/mfw_gst_fb.c -@@ -199,11 +199,14 @@ POST-CONDITIONS: None +@@ -200,11 +200,14 @@ POST-CONDITIONS: None IMPORTANT NOTES: None =============================================================================*/ @@ -38,7 +38,7 @@ index 8c251daa5df4..a0df95f09494 100755 open(fb_device, O_RDWR, 0)) < 0) { g_print("Unable to open %s %d\n", fb_device, *fb); diff --git a/src/misc/v4l_sink/src/mfw_gst_fb.h b/src/misc/v4l_sink/src/mfw_gst_fb.h -index 01321d65488d..da11ca1cffd0 100755 +index 01321d6..da11ca1 100755 --- a/src/misc/v4l_sink/src/mfw_gst_fb.h +++ b/src/misc/v4l_sink/src/mfw_gst_fb.h @@ -50,7 +50,7 @@ @@ -51,7 +51,7 @@ index 01321d65488d..da11ca1cffd0 100755 #if ((defined (_MX37) || defined (_MX51)) && defined (LOC_ALPHA_SUPPORT)) diff --git a/src/misc/v4l_sink/src/mfw_gst_v4l.c b/src/misc/v4l_sink/src/mfw_gst_v4l.c -index b85879a057dd..d773f6aa5192 100755 +index b85879a..d773f6a 100755 --- a/src/misc/v4l_sink/src/mfw_gst_v4l.c +++ b/src/misc/v4l_sink/src/mfw_gst_v4l.c @@ -540,6 +540,10 @@ mfw_gst_v4l2_mx37_mx51_tv_close (MFW_GST_V4LSINK_INFO_T * v4l_info) @@ -66,7 +66,7 @@ index b85879a057dd..d773f6aa5192 100755 v4l_info->tv_mode = NV_MODE; diff --git a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c -index 238d91956543..3a50bffedfe4 100755 +index 3598fdb..4a6c642 100755 --- a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c +++ b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c @@ -137,6 +137,7 @@ enum @@ -100,7 +100,7 @@ index 238d91956543..3a50bffedfe4 100755 case SETPARA: g_value_set_int (value, v4l_info->setpara); break; -@@ -1537,6 +1547,7 @@ mfw_gst_v4lsink_init (MFW_GST_V4LSINK_INFO_T * v4l_info, +@@ -1541,6 +1551,7 @@ mfw_gst_v4lsink_init (MFW_GST_V4LSINK_INFO_T * v4l_info, v4l_info->dump_location = NULL; v4l_info->dumpfile = NULL; v4l_info->dump_length = 0; @@ -108,7 +108,7 @@ index 238d91956543..3a50bffedfe4 100755 v4l_info->cr_left_bypixel_orig = 0; v4l_info->cr_right_bypixel_orig = 0; v4l_info->cr_top_bypixel_orig = 0; -@@ -1569,7 +1580,7 @@ mfw_gst_v4lsink_init (MFW_GST_V4LSINK_INFO_T * v4l_info, +@@ -1573,7 +1584,7 @@ mfw_gst_v4lsink_init (MFW_GST_V4LSINK_INFO_T * v4l_info, memset (&v4l_info->crop, 0, sizeof (struct v4l2_crop)); memset (&v4l_info->prevCrop, 0, sizeof (struct v4l2_crop)); @@ -117,7 +117,7 @@ index 238d91956543..3a50bffedfe4 100755 v4l_info->chipcode = getChipCode(); v4l_info->v4l_id = -1; -@@ -1726,6 +1737,13 @@ mfw_gst_v4lsink_class_init (MFW_GST_V4LSINK_INFO_CLASS_T * klass) +@@ -1730,6 +1741,13 @@ mfw_gst_v4lsink_class_init (MFW_GST_V4LSINK_INFO_CLASS_T * klass) NULL, G_PARAM_READWRITE)); @@ -132,7 +132,7 @@ index 238d91956543..3a50bffedfe4 100755 g_object_class_install_property (gobject_class, PROP_FORCE_ASPECT_RATIO, g_param_spec_boolean diff --git a/src/misc/v4l_sink/src/mfw_gst_v4lsink.h b/src/misc/v4l_sink/src/mfw_gst_v4lsink.h -index 504e06fb4ef0..28cd6b767ccf 100755 +index 504e06f..28cd6b7 100755 --- a/src/misc/v4l_sink/src/mfw_gst_v4lsink.h +++ b/src/misc/v4l_sink/src/mfw_gst_v4lsink.h @@ -279,6 +279,7 @@ typedef struct MFW_GST_V4LSINK_INFO_S diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0003-mfw_v4lsrc_uyvy.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0007-mfw_v4lsrc_uyvy.patch similarity index 100% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0003-mfw_v4lsrc_uyvy.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0007-mfw_v4lsrc_uyvy.patch diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0004-mfw_v4lsec_def_sizes.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0008-mfw_v4lsec_def_sizes.patch similarity index 100% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0004-mfw_v4lsec_def_sizes.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0008-mfw_v4lsec_def_sizes.patch diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0005-mfw_v4lsrc_create_segfault.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0009-mfw_v4lsrc_create_segfault.patch similarity index 100% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0005-mfw_v4lsrc_create_segfault.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0009-mfw_v4lsrc_create_segfault.patch diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0006-gplay_rotate.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0010-gplay_rotate.patch similarity index 95% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0006-gplay_rotate.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0010-gplay_rotate.patch index 030423fa5..4d972ae59 100644 --- a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0006-gplay_rotate.patch +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0010-gplay_rotate.patch @@ -42,10 +42,10 @@ index d773f6a..cb999d2 100755 if (ioctl (v4l_info->v4l_id, VIDIOC_S_CROP, crop) < 0) { GST_ERROR ("set crop failed"); diff --git a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c -index 526699e..2227c3d 100755 +index 4a6c642..de55b9d 100755 --- a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c +++ b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c -@@ -1536,6 +1536,7 @@ mfw_gst_v4lsink_init (MFW_GST_V4LSINK_INFO_T * v4l_info, +@@ -1534,6 +1534,7 @@ mfw_gst_v4lsink_init (MFW_GST_V4LSINK_INFO_T * v4l_info, v4l_info->axis_left = 0; v4l_info->rotate = 0; v4l_info->prevRotate = 0; @@ -54,7 +54,7 @@ index 526699e..2227c3d 100755 v4l_info->crop_top = 0; diff --git a/src/misc/v4l_sink/src/mfw_gst_v4lsink.h b/src/misc/v4l_sink/src/mfw_gst_v4lsink.h -index 4764868..4c9465d 100755 +index 28cd6b7..159d3e7 100755 --- a/src/misc/v4l_sink/src/mfw_gst_v4lsink.h +++ b/src/misc/v4l_sink/src/mfw_gst_v4lsink.h @@ -255,6 +255,7 @@ typedef struct MFW_GST_V4LSINK_INFO_S diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0007-mfw_isink-Set-defaults-if-no-vssconfig-found.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0011-mfw_isink-Set-defaults-if-no-vssconfig-found.patch similarity index 100% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0007-mfw_isink-Set-defaults-if-no-vssconfig-found.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0011-mfw_isink-Set-defaults-if-no-vssconfig-found.patch diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0008-gst-fsl-plugin-Clear-framebuffer-of-spurious-content.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0012-gst-fsl-plugin-Clear-framebuffer-of-spurious-content.patch similarity index 100% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0008-gst-fsl-plugin-Clear-framebuffer-of-spurious-content.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0012-gst-fsl-plugin-Clear-framebuffer-of-spurious-content.patch diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0009-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0013-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch similarity index 95% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0009-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0013-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch index 51be40222..4aea09fa5 100644 --- a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0009-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0013-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch @@ -17,10 +17,10 @@ Signed-off-by: Alex Gonzalez 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c -index 2227c3d..3ba9c78 100755 +index de55b9d..ce03ee4 100755 --- a/src/misc/v4l_sink/src/mfw_gst_v4lsink.c +++ b/src/misc/v4l_sink/src/mfw_gst_v4lsink.c -@@ -1848,6 +1848,7 @@ mfw_gst_v4lsink_buffer_alloc (GstBaseSink * bsink, guint64 offset, +@@ -1847,6 +1847,7 @@ mfw_gst_v4lsink_buffer_alloc (GstBaseSink * bsink, guint64 offset, gint frame_buffer_size; gint max_frames; gint hwbuffernumforcodec; diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0010-gplay_next_file.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0014-gplay_next_file.patch similarity index 91% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0010-gplay_next_file.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0014-gplay_next_file.patch index 0671bcc98..936539dbc 100644 --- a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0010-gplay_next_file.patch +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0014-gplay_next_file.patch @@ -15,10 +15,10 @@ Signed-off-by: Javier Viguera 1 file changed, 1 insertion(+) diff --git a/tools/gplay/mfw_gplay.c b/tools/gplay/mfw_gplay.c -index 0bcd78c..45b49da 100755 +index ee65100..de11e68 100755 --- a/tools/gplay/mfw_gplay.c +++ b/tools/gplay/mfw_gplay.c -@@ -881,6 +881,7 @@ int main(int argc,char *argv[]) +@@ -876,6 +876,7 @@ int main(int argc,char *argv[]) case '>': // Play next file printf("next\n"); if (playlist_next(pplayer, opt)==NULL){ diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0011-gplay_repeat.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0015-gplay_repeat.patch similarity index 98% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0011-gplay_repeat.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0015-gplay_repeat.patch index 77b0c53be..a9030d804 100644 --- a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0011-gplay_repeat.patch +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0015-gplay_repeat.patch @@ -18,7 +18,7 @@ Signed-off-by: Javier Viguera 1 file changed, 3 insertions(+) diff --git a/tools/gplay/mfw_gplay.c b/tools/gplay/mfw_gplay.c -index 45b49da..bc0bd7a 100755 +index de11e68..5e5a6f1 100755 --- a/tools/gplay/mfw_gplay.c +++ b/tools/gplay/mfw_gplay.c @@ -151,6 +151,7 @@ PlayItem * playlist_next(fsl_player_handle handle, options* opt) diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0012-gst-fsl-plugin-Only-call-MXCFB_SET_OVERLAY_POS-with-.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0016-gst-fsl-plugin-Only-call-MXCFB_SET_OVERLAY_POS-with-.patch similarity index 100% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0012-gst-fsl-plugin-Only-call-MXCFB_SET_OVERLAY_POS-with-.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0016-gst-fsl-plugin-Only-call-MXCFB_SET_OVERLAY_POS-with-.patch diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0013-gst-fsl-plugin-Do-not-blank-the-display-on-device-cl.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0017-gst-fsl-plugin-Do-not-blank-the-display-on-device-cl.patch similarity index 100% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0013-gst-fsl-plugin-Do-not-blank-the-display-on-device-cl.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0017-gst-fsl-plugin-Do-not-blank-the-display-on-device-cl.patch diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0014-undefined-shm_open.patch b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0018-undefined-shm_open.patch similarity index 100% rename from meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0014-undefined-shm_open.patch rename to meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin-2.0.3/0018-undefined-shm_open.patch diff --git a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin_2.0.3.bbappend b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin_2.0.3.bbappend index e5ff12107..cc92695ac 100644 --- a/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin_2.0.3.bbappend +++ b/meta-digi-dey/recipes-multimedia/gst-plugins/gst-fsl-plugin_2.0.3.bbappend @@ -5,21 +5,26 @@ PR_append = "+${DISTRO}" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" -SRC_URI += " \ - file://0001-gplay_fullscreen.patch \ - file://0002-add-fb-dev.patch \ - file://0003-mfw_v4lsrc_uyvy.patch \ - file://0004-mfw_v4lsec_def_sizes.patch \ - file://0005-mfw_v4lsrc_create_segfault.patch \ - file://0006-gplay_rotate.patch \ - file://0007-mfw_isink-Set-defaults-if-no-vssconfig-found.patch \ - file://0008-gst-fsl-plugin-Clear-framebuffer-of-spurious-content.patch \ - file://0009-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch \ - file://0010-gplay_next_file.patch \ - file://0011-gplay_repeat.patch \ - file://0012-gst-fsl-plugin-Only-call-MXCFB_SET_OVERLAY_POS-with-.patch \ - file://0013-gst-fsl-plugin-Do-not-blank-the-display-on-device-cl.patch \ - file://0014-undefined-shm_open.patch \ +SRC_URI = " \ + ${FSL_MIRROR}/${PACKAGE_NAME}-${PV}.tar.gz \ + file://0001-gst-fsl-plugin-update-to-DEL-revision.patch \ + file://0002-meta-fsl-arm-fix-segment-fault-in-v4lsink-for-yocto.patch \ + file://0003-meta-fsl-arm-fix-missing-sys-types.h.patch \ + file://0004-meta-fsl-arm-Use-library-s-SONAME-in-dlopen.patch \ + file://0005-gplay_fullscreen.patch \ + file://0006-add-fb-dev.patch \ + file://0007-mfw_v4lsrc_uyvy.patch \ + file://0008-mfw_v4lsec_def_sizes.patch \ + file://0009-mfw_v4lsrc_create_segfault.patch \ + file://0010-gplay_rotate.patch \ + file://0011-mfw_isink-Set-defaults-if-no-vssconfig-found.patch \ + file://0012-gst-fsl-plugin-Clear-framebuffer-of-spurious-content.patch \ + file://0013-mfw_v4lsink-Do-not-ignore-cropping-dimensions.patch \ + file://0014-gplay_next_file.patch \ + file://0015-gplay_repeat.patch \ + file://0016-gst-fsl-plugin-Only-call-MXCFB_SET_OVERLAY_POS-with-.patch \ + file://0017-gst-fsl-plugin-Do-not-blank-the-display-on-device-cl.patch \ + file://0018-undefined-shm_open.patch \ " do_install_append() {