1 From e321ae7df57ada9ecc8c155fa4e5511c96ef5db3 Mon Sep 17 00:00:00 2001
2 From: Rob Clark <rob@ti.com>
3 Date: Fri, 18 Mar 2011 12:40:51 -0500
4 Subject: [PATCH] dce: differentiate between fatal and non-fatal errors
6 For streams with errors, the codec will throw back an error. But not
7 all errors are fatal.
8 ---
9 dce.c | 10 ++++++++--
10 1 files changed, 8 insertions(+), 2 deletions(-)
12 diff --git a/dce.c b/dce.c
13 index ab7ad0a..88f175e 100644
14 --- a/dce.c
15 +++ b/dce.c
16 @@ -270,8 +270,14 @@ static int dce_decode(AVPacket *p)
18 err = VIDDEC3_process(codec, inbufs, outbufs, in_args, out_args);
19 if (err) {
20 - fprintf(stderr, "VIDDEC3_process() error %d\n", err);
21 - return -1;
22 + fprintf(stderr, "VIDDEC3_process() error %d %08x\n", err,
23 + out_args->extendedError);
24 + /* for non-fatal errors, keep going.. a non-fatal error could
25 + * just indicate an error in the input stream which the codec
26 + * was able to conceal
27 + */
28 + if (XDM_ISFATALERROR(out_args->extendedError))
29 + return -1;
30 }
32 for (i = 0; i < out_args->outputID[i]; i++) {
33 --
34 1.7.1