Fix decode and generation of linkage descriptor with mobile handover
[email protected] (Daniel Kamil Kozar) Mon, 24 Aug 2015 12:54:42 +0200 (CEST)
| Newsgroups | gmane.comp.video.videolan.libdvbpsi.devel |
|---|---|
| Message-ID | <[email protected]> |
libdvbpsi | branch: master | Daniel Kamil Kozar <[email protected]> | 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 <[email protected]> > 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 )) { _______________________________________________ libdvbpsi-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libdvbpsi-devel