summaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-10-15 15:58:44 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-10-16 03:01:15 +0200
commit3896cd11a107f241f06b06a336322aef2f372fdd (patch)
tree238ba0993f44424cc96742479a2aef717a52ca69 /libavformat
parent1fe45903b81fd7c3c81292723affac7de4f4e4ee (diff)
downloadffmpeg-streaming-3896cd11a107f241f06b06a336322aef2f372fdd.zip
ffmpeg-streaming-3896cd11a107f241f06b06a336322aef2f372fdd.tar.gz
mxfenc: explicitly truncate continuity count.
The field is intended to overflow and have only its low 16bits stored. This commit avoids the implicit truncation and clarifies that its intended and not a bug S326m section 7.6 ("Continuity count"): > The continuity count word consists of 2 bytes allow- > ing a number to be created by a modulo 65536 > counter (bits C15 to C0 in figure 7). The continuity > count shall increment by 1 for each newly transmit- > ted content package with the same SDTI source and > destination addresses. The continuity count may > be used to detect whether the content package > sequence has been broken by an operation such as > a routing switch. Approved-by: Tjoppen Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/mxfenc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index b7e9449..6a27d2a 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -1820,7 +1820,7 @@ static void mxf_write_system_item(AVFormatContext *s)
avio_w8(pb, 0x04); // content package rate
avio_w8(pb, 0x00); // content package type
avio_wb16(pb, 0x00); // channel handle
- avio_wb16(pb, mxf->tc.start + frame); // continuity count
+ avio_wb16(pb, (mxf->tc.start + frame) & 0xFFFF); // continuity count, supposed to overflow
if (mxf->essence_container_count > 1)
avio_write(pb, multiple_desc_ul, 16);
else {
OpenPOWER on IntegriCloud