Op 10 mei 2012, om 15:42 heeft Monk, Roger het volgende geschreven: > Hi Koen, > > Think we've still got some API incompatibility here. I needed to roll back > to an earlier omapfbplay commit (34293052c5a2ae328eac6903512e6b4ce19b5639) > and patch CODEC_TYPE :- > > - if (afc->streams[i]->codec->codec_type == CODEC_TYPE_VIDEO && !st) > + if (afc->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO && !st) > > to get this working on beagleboard-xm, so I suspect there may have been an > API change after Aug11, or d03f042ecac0a231bedeadc7a6c67f0102d5505a was > rebased against 0.8 branch? I guess we should ask Mans...
We still use libav 0.7.4 in meta-oe, I suspect Mans updated to 0.8.x or even newer. I only build tested it, so I'm open for fixes that make it run :) Upgrading libav might be an option as well, but I'm not sure of that will get accepted for the meta-oe release branch. regards, Koen > > ~rog > > > Texas Instruments Limited, 800 Pavilion Drive, Northampton, NN4 7YL. > Registered in England & Wales under company number 00574102 > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Koen Kooi > Sent: 10 May 2012 13:04 > To: [email protected] > Cc: Dmytriyenko, Denys > Subject: [meta-ti] [PATCH] omapfbplay: import from OE classic > > Signed-off-by: Koen Kooi <[email protected]> > --- > .../files/0001-rollback-to-libav-0.7.4-API.patch | 26 +++++++++++++++ > .../files/omapfbplay-errorhandling.patch | 34 ++++++++++++++++++++ > recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb | 16 +++++++++ > recipes-graphics/omapfbplay/omapfbplay-dce_git.bb | 7 ++++ > recipes-graphics/omapfbplay/omapfbplay-xv_git.bb | 3 ++ > recipes-graphics/omapfbplay/omapfbplay.inc | 33 +++++++++++++++++++ > recipes-graphics/omapfbplay/omapfbplay_git.bb | 3 ++ > 7 files changed, 122 insertions(+) > create mode 100644 > recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch > create mode 100644 > recipes-graphics/omapfbplay/files/omapfbplay-errorhandling.patch > create mode 100644 recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb > create mode 100644 recipes-graphics/omapfbplay/omapfbplay-dce_git.bb > create mode 100644 recipes-graphics/omapfbplay/omapfbplay-xv_git.bb > create mode 100644 recipes-graphics/omapfbplay/omapfbplay.inc > create mode 100644 recipes-graphics/omapfbplay/omapfbplay_git.bb > > diff --git > a/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch > b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch > new file mode 100644 > index 0000000..9095fe5 > --- /dev/null > +++ b/recipes-graphics/omapfbplay/files/0001-rollback-to-libav-0.7.4-API.patch > @@ -0,0 +1,26 @@ > +From dca631cfa22b1f903c943a9e03597aa6f9ae10d4 Mon Sep 17 00:00:00 2001 > +From: Koen Kooi <[email protected]> > +Date: Thu, 10 May 2012 14:01:27 +0200 > +Subject: [PATCH] rollback to libav 0.7.4 API > + > +Signed-off-by: Koen Kooi <[email protected]> > +--- > + omapfbplay.c | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/omapfbplay.c b/omapfbplay.c > +index 6a6fc96..1e5a29c 100644 > +--- a/omapfbplay.c > ++++ b/omapfbplay.c > +@@ -674,7 +674,7 @@ main(int argc, char **argv) > + pthread_join(dispt, NULL); > + > + out: > +- if (afc) avformat_close_input(&afc); > ++ if (afc) av_close_input_file(&afc); > + > + if (codec) codec->close(); > + if (timer) timer->close(); > +-- > +1.7.10 > + > diff --git a/recipes-graphics/omapfbplay/files/omapfbplay-errorhandling.patch > b/recipes-graphics/omapfbplay/files/omapfbplay-errorhandling.patch > new file mode 100644 > index 0000000..7dd544f > --- /dev/null > +++ b/recipes-graphics/omapfbplay/files/omapfbplay-errorhandling.patch > @@ -0,0 +1,34 @@ > +From e321ae7df57ada9ecc8c155fa4e5511c96ef5db3 Mon Sep 17 00:00:00 2001 > +From: Rob Clark <[email protected]> > +Date: Fri, 18 Mar 2011 12:40:51 -0500 > +Subject: [PATCH] dce: differentiate between fatal and non-fatal errors > + > +For streams with errors, the codec will throw back an error. But not > +all errors are fatal. > +--- > + dce.c | 10 ++++++++-- > + 1 files changed, 8 insertions(+), 2 deletions(-) > + > +diff --git a/dce.c b/dce.c > +index ab7ad0a..88f175e 100644 > +--- a/dce.c > ++++ b/dce.c > +@@ -270,8 +270,14 @@ static int dce_decode(AVPacket *p) > + > + err = VIDDEC3_process(codec, inbufs, outbufs, in_args, out_args); > + if (err) { > +- fprintf(stderr, "VIDDEC3_process() error %d\n", err); > +- return -1; > ++ fprintf(stderr, "VIDDEC3_process() error %d %08x\n", err, > ++ out_args->extendedError); > ++ /* for non-fatal errors, keep going.. a non-fatal error could > ++ * just indicate an error in the input stream which the codec > ++ * was able to conceal > ++ */ > ++ if (XDM_ISFATALERROR(out_args->extendedError)) > ++ return -1; > + } > + > + for (i = 0; i < out_args->outputID[i]; i++) { > +-- > +1.7.1 > diff --git a/recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb > b/recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb > new file mode 100644 > index 0000000..a0392f6 > --- /dev/null > +++ b/recipes-graphics/omapfbplay/omapfbplay-cmem_git.bb > @@ -0,0 +1,16 @@ > +require omapfbplay.inc > + > +DEPENDS += "ti-linuxutils" > + > +require recipes-ti/includes/ti-paths.inc > + > +PACKAGE_ARCH = "${MACHINE_ARCH}" > + > +SDMA_CFLAGS = " > -I${LINUXUTILS_INSTALL_DIR}/packages/ti/sdo/linuxutils/sdma/include/" > +CMEM_CFLAGS = " > -I${LINUXUTILS_INSTALL_DIR}/packages/ti/sdo/linuxutils/cmem/include/" > +CFLAGS += " -I. -I${STAGING_KERNEL_DIR}/include ${SDMA_CFLAGS} > ${CMEM_CFLAGS}" > + > +export SDMA_LIBS = > "-L${LINUXUTILS_INSTALL_DIR}/packages/ti/sdo/linuxutils/sdma/lib > -l:sdma.a470MV" > +export CMEM_LIBS = > "-L${LINUXUTILS_INSTALL_DIR}/packages/ti/sdo/linuxutils/cmem/lib > -l:cmem.a470MV" > + > +OMAPFBPLAYOPTS = "V4L2=y OMAPFB=y NETSYNC=y CMEM=y SDMA=y" > diff --git a/recipes-graphics/omapfbplay/omapfbplay-dce_git.bb > b/recipes-graphics/omapfbplay/omapfbplay-dce_git.bb > new file mode 100644 > index 0000000..e70ac72 > --- /dev/null > +++ b/recipes-graphics/omapfbplay/omapfbplay-dce_git.bb > @@ -0,0 +1,7 @@ > +require omapfbplay.inc > + > +DEPENDS += "libdce" > + > +CFLAGS += " -I. -I${STAGING_INCDIR}/dce -I${STAGING_KERNEL_DIR}/include " > + > +OMAPFBPLAYOPTS = "V4L2=y OMAPFB=y NETSYNC=y DCE=y" > diff --git a/recipes-graphics/omapfbplay/omapfbplay-xv_git.bb > b/recipes-graphics/omapfbplay/omapfbplay-xv_git.bb > new file mode 100644 > index 0000000..cadf6d8 > --- /dev/null > +++ b/recipes-graphics/omapfbplay/omapfbplay-xv_git.bb > @@ -0,0 +1,3 @@ > +require omapfbplay.inc > + > +OMAPFBPLAYOPTS = "V4L2=y NETSYNC=y XV=y" > diff --git a/recipes-graphics/omapfbplay/omapfbplay.inc > b/recipes-graphics/omapfbplay/omapfbplay.inc > new file mode 100644 > index 0000000..88de77b > --- /dev/null > +++ b/recipes-graphics/omapfbplay/omapfbplay.inc > @@ -0,0 +1,33 @@ > +DESCRIPTION = "Simple libav-based player that uses the omapfb overlays" > +DEPENDS = "bzip2 lame libav virtual/kernel" > +LICENSE = "MIT" > +LIC_FILES_CHKSUM = > "file://omapfbplay.c;beginline=2;endline=22;md5=05d3789ab362e6f4a9682e98100ea0fa" > + > +PV = "0.0+${PR}+gitr${SRCREV}" > + > +SRCREV = "d03f042ecac0a231bedeadc7a6c67f0102d5505a" > +SRC_URI = "git://git.mansr.com/omapfbplay;protocol=git \ > + file://omapfbplay-errorhandling.patch \ > + file://0001-rollback-to-libav-0.7.4-API.patch \ > + " > + > +S = "${WORKDIR}/git" > + > +# We want a kernel header for armv7a, but we don't want to make mplayer > machine specific for that > +STAGING_KERNEL_DIR = > "${STAGING_DIR}/${MACHINE_ARCH}${TARGET_VENDOR}-${TARGET_OS}/kernel" > +CFLAGS += " -I. -I${STAGING_KERNEL_DIR}/include " > + > +OMAPFBPLAYVARIANT ?= "${PN}" > +OMAPFBPLAYOPTS ?= "V4L2=y NETSYNC=y" > + > +do_compile() { > + cp ${STAGING_KERNEL_DIR}/arch/arm/plat-omap/include/mach/omapfb.h > ${S} || true > + cp ${STAGING_KERNEL_DIR}/include/asm-arm/arch-omap/omapfb.h ${S} || > true > + cp ${STAGING_KERNEL_DIR}/include/linux/omapfb.h ${S} || true > + oe_runmake ${TARGET_ARCH}=y ${OMAPFBPLAYOPTS} -e > +} > + > +do_install() { > + install -d ${D}/${bindir} > + install -m 0755 ${S}/omapfbplay ${D}/${bindir}/${OMAPFBPLAYVARIANT} > +} > diff --git a/recipes-graphics/omapfbplay/omapfbplay_git.bb > b/recipes-graphics/omapfbplay/omapfbplay_git.bb > new file mode 100644 > index 0000000..0d3956f > --- /dev/null > +++ b/recipes-graphics/omapfbplay/omapfbplay_git.bb > @@ -0,0 +1,3 @@ > +require omapfbplay.inc > + > +OMAPFBPLAYOPTS = "V4L2=y OMAPFB=y NETSYNC=y" > -- > 1.7.10 > > _______________________________________________ > meta-ti mailing list > [email protected] > https://lists.yoctoproject.org/listinfo/meta-ti > _______________________________________________ meta-ti mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-ti
