omapfbplay: Add patch for dce codec error handling
authorRoger Monk <r-monk@ti.com>
Fri, 25 Mar 2011 15:52:52 +0000 (15:52 +0000)
committerKoen Kooi <koen@openembedded.org>
Fri, 25 Mar 2011 16:12:37 +0000 (17:12 +0100)
* Add patch to handle return codes from dce codec library
      * Check for non-fatal errors
   * Update to latest SRCREV
   * Bump PR

Signed-off-by: Roger Monk <r-monk@ti.com>
Signed-off-by: Koen Kooi <koen@openembedded.org>
recipes/ffmpeg/files/omapfbplay-errorhandling.patch [new file with mode: 0644]
recipes/ffmpeg/omapfbplay.inc

diff --git a/recipes/ffmpeg/files/omapfbplay-errorhandling.patch b/recipes/ffmpeg/files/omapfbplay-errorhandling.patch
new file mode 100644 (file)
index 0000000..46f2f90
--- /dev/null
@@ -0,0 +1,34 @@
+From e321ae7df57ada9ecc8c155fa4e5511c96ef5db3 Mon Sep 17 00:00:00 2001
+From: Rob Clark <rob@ti.com>
+Date: Fri, 18 Mar 2011 12:40:51 -0500
+Subject: [PATCH] dce: differntiate 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
index 082f28e..de5b2a8 100644 (file)
@@ -2,13 +2,14 @@ DESCRIPTION = "Simple ffmpeg-based player that uses the omapfb overlays"
 DEPENDS = "bzip2 lame ffmpeg virtual/kernel"
 LICENSE = "MIT"
 
-PR = "r29"
+PR = "r30"
 
 PV = "0.0+${PR}+gitr${SRCREV}"
 
-SRCREV = "9ce728cf67dd1c0a7dbf4e54e899f28bd0c5fbe1"
+SRCREV = "34293052c5a2ae328eac6903512e6b4ce19b5639"
 SRC_URI = "git://git.mansr.com/omapfbplay;protocol=git \
-"
+           file://omapfbplay-errorhandling.patch \
+          "
 
 S = "${WORKDIR}/git"