/* * section and descriptor parser * * Copyright (C) 2005 Kenneth Aafloy (kenneth@linuxtv.org) * Copyright (C) 2005 Andrew de Quincey (adq_dvb@lidskialf.net) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ #include struct mpeg_pmt_section * mpeg_pmt_section_codec(struct section_ext * ext) { uint8_t * buf = (uint8_t *) ext; struct mpeg_pmt_section * pmt = (struct mpeg_pmt_section *) ext; size_t pos = sizeof(struct section_ext); size_t len = section_ext_length(ext); if (len < sizeof(struct mpeg_pmt_section)) return NULL; bswap16(buf + pos); pos += 2; bswap16(buf + pos); pos += 2; if ((pos + pmt->program_info_length) > len) return NULL; if (verify_descriptors(buf + pos, pmt->program_info_length)) return NULL; pos += pmt->program_info_length; while (pos < len) { struct mpeg_pmt_stream * stream = (struct mpeg_pmt_stream *) (buf + pos); if ((pos + sizeof(struct mpeg_pmt_stream)) > len) return NULL; bswap16(buf + pos + 1); bswap16(buf + pos + 3); pos += sizeof(struct mpeg_pmt_stream); if ((pos + stream->es_info_length) > len) return NULL; if (verify_descriptors(buf + pos, stream->es_info_length)) return NULL; pos += stream->es_info_length; } if (pos != len) return NULL; return (struct mpeg_pmt_section *) ext; } 2749891541a003d43da4229314e81632'/>
path: root/dvb-c/dk-Odense (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2017-01-05New upstream version 0+git20161227.ac7535aupstream/0+git20161227.ac7535aJonathan McCrohan39-1522/+4879
2016-06-11Imported Upstream version 0+git20160503.4f192bdupstream/0+git20160503.4f192bdJonathan McCrohan1307-2667/+38002
2016-01-18Imported Upstream version 0+git20151202.3864e0aupstream/0+git20151202.3864e0aJonathan McCrohan840-4057/+18230
2015-04-01Imported Upstream version 0+git20150208.f2053b3upstream/0+git20150208.f2053b3Jonathan McCrohan32-333/+483
2014-12-28Imported Upstream version 0+git20141218.b46a22cupstream/0+git20141218.b46a22cJonathan McCrohan535-639/+317
2014-10-15Imported Upstream version 0+git20141009.d26b627upstream/0+git20141009.d26b627Jonathan McCrohan2010-11120/+159271
2014-07-23Imported Upstream version 0+git20140611.14bd6c7upstream/0+git20140611.14bd6c7Jonathan McCrohan7-11/+60
2014-05-13Imported Upstream version 0+git20140512.1246b27upstream/0+git20140512.1246b27Jonathan McCrohan391-301/+3983
2014-04-05Imported Upstream version 0+git20140326.cfc2975upstream/0+git20140326.cfc2975Jonathan McCrohan118-656/+877