[FFmpeg-devel] [PATCH 2/3] lavc: fix recoded subtitles end.
Nicolas George
nicolas.george at normalesup.org
Sun Apr 7 10:23:45 CEST 2013
Text subtitles packets are not 0-terminated (and if they are,
it is handled by the recoding process since 0 is a valid
Unicode code point). The terminating 0 would overwrite the
last payload octet.
OTOH, packets must be 0-padded.
Fix a problem reported in trac ticket #2431.
Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
libavcodec/utils.c | 2 +-
tests/ref/fate/sub-charenc | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
The FATE ref change is actually an enhancement: the old version corresponds
to a file with a few broken or missing characters at the end of lines.
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 76f7e8e..e4ea325 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -2185,7 +2185,7 @@ static int recode_subtitle(AVCodecContext *avctx,
goto end;
}
outpkt->size -= outl;
- outpkt->data[outpkt->size - 1] = '\0';
+ memset(outpkt->data + outpkt->size, 0, outl);
end:
if (cd != (iconv_t)-1)
diff --git a/tests/ref/fate/sub-charenc b/tests/ref/fate/sub-charenc
index 3c4825e..ef72754 100644
--- a/tests/ref/fate/sub-charenc
+++ b/tests/ref/fate/sub-charenc
@@ -1 +1 @@
-a39d7e299a8e25b4ffece0f8d64bf19e
+9615088d613931b50fd5016c7535b99a
--
1.7.10.4
More information about the ffmpeg-devel
mailing list