aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/ffmpeg/files/omapfbplay-errorhandling.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/ffmpeg/files/omapfbplay-errorhandling.patch')
-rw-r--r--recipes/ffmpeg/files/omapfbplay-errorhandling.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/recipes/ffmpeg/files/omapfbplay-errorhandling.patch b/recipes/ffmpeg/files/omapfbplay-errorhandling.patch
new file mode 100644
index 0000000000..46f2f90812
--- /dev/null
+++ b/recipes/ffmpeg/files/omapfbplay-errorhandling.patch
@@ -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