2
* Copyright (c) 2013 - Andre Roth <neolynx@gmail.com>
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License
6
* as published by the Free Software Foundation version 2
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
* Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
22
* @file desc_service_location.h
23
* @ingroup descriptors
24
* @brief Provides the descriptors for the DVB service location
25
* @copyright GNU General Public License version 2 (GPLv2)
29
* The descriptor described herein is defined at:
32
* Please submit bug reports and patches to linux-media@vger.kernel.org
34
* @todo DOES THIS DESCRIPTOR EXISTS? IF SO, WHERE?
36
* FIXME: this seems to be a duplicated copy of the ATSC service location.
39
#ifndef _SERVICE_LOCATION_H
40
#define _SERVICE_LOCATION_H
42
#include <libdvbv5/descriptors.h>
45
* @struct dvb_desc_service_location_element
46
* @ingroup descriptors
49
* @param stream_type stream type
50
* @param elementary_pid elementary pid
51
* @param language language
53
struct dvb_desc_service_location_element {
58
uint16_t elementary_pid:13;
60
} __attribute__((packed));
61
} __attribute__((packed));
63
} __attribute__((packed));
66
* @struct dvb_desc_service_location
67
* @ingroup descriptors
71
* @param length length
72
* @param next pointer to struct dvb_desc
73
* @param pcr_pid pcr pid
74
* @param elements elements
75
* @param element pointer to struct dvb_desc_service_location_element
77
struct dvb_desc_service_location {
80
struct dvb_desc *next;
87
} __attribute__((packed));
88
} __attribute__((packed));
90
struct dvb_desc_service_location_element *element;
91
} __attribute__((packed));
93
struct dvb_v5_fe_parms;
99
int dvb_desc_service_location_init (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc);
100
void dvb_desc_service_location_print(struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc);
101
void dvb_desc_service_location_free (struct dvb_desc *desc);