[libdvbpsi-devel] Fix decode and generation of linkage descriptor with mobile handover
Daniel Kamil Kozar
git at videolan.org
Mon Aug 24 12:54:42 CEST 2015
libdvbpsi | branch: master | Daniel Kamil Kozar <dkk089 at gmail.com> | Sat Jul 18 19:59:57 2015 +0200| [9e9cc85fbfc80ed74b80434073d617f82ad95933] | committer: Jean-Paul Saman
Fix decode and generation of linkage descriptor with mobile handover
Linkage descriptor's generation and decoding routines improperly calculated the
beginning of the private data region in cases where linkage_type = 8,
handover_info = 0, and origin_type = 1.
(cherry picked from commit 979733f1b500a24d43165ed442d9167991a42452)
Signed-off-by: Jean-Paul Saman <jpsaman at videolan.org>
> http://git.videolan.org/gitweb.cgi/libdvbpsi.git/?a=commit;h=9e9cc85fbfc80ed74b80434073d617f82ad95933
---
src/descriptors/dr_4a.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/descriptors/dr_4a.c b/src/descriptors/dr_4a.c
index da1b80e..e4d2b3e 100644
--- a/src/descriptors/dr_4a.c
+++ b/src/descriptors/dr_4a.c
@@ -98,6 +98,7 @@ dvbpsi_linkage_dr_t* dvbpsi_DecodeLinkageDr(dvbpsi_descriptor_t * p_descriptor)
{
p_decoded->i_handover_type = handover_type;
p_decoded->i_origin_type = origin_type;
+ i = 8;
if (handover_type > 0 && handover_type < 4)
{
p_decoded->i_network_id = p_descriptor->p_data[8] << 8
@@ -183,6 +184,7 @@ dvbpsi_descriptor_t * dvbpsi_GenLinkageDr(dvbpsi_linkage_dr_t * p_decoded,
{
p_descriptor->p_data[7] = ( (p_decoded->i_handover_type & 0x0F) << 4 )
| 0x0E | ( p_decoded->i_origin_type & 0x01 );
+ last_pos = 7;
if ((p_decoded->i_handover_type > 0) &&
(p_decoded->i_handover_type < 3 ))
{
More information about the libdvbpsi-devel
mailing list