~ubuntu-branches/ubuntu/precise/me-tv/precise-proposed

« back to all changes in this revision

Viewing changes to src/libucsi/dvb/transport_stream_descriptor.h

  • Committer: Bazaar Package Importer
  • Author(s): Philipp Kern
  • Date: 2008-07-23 14:03:56 UTC
  • mfrom: (1.1.3 upstream) (3.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080723140356-m6ze7fbkydes42c7
Tags: 0.5.33-3
Fix xine-lib ffmpeg dependency.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * section and descriptor parser
3
 
 *
4
 
 * Copyright (C) 2005 Kenneth Aafloy (kenneth@linuxtv.org)
5
 
 * Copyright (C) 2005 Andrew de Quincey (adq_dvb@lidskialf.net)
6
 
 *
7
 
 * This library is free software; you can redistribute it and/or
8
 
 * modify it under the terms of the GNU Lesser General Public
9
 
 * License as published by the Free Software Foundation; either
10
 
 * version 2.1 of the License, or (at your option) any later version.
11
 
 *
12
 
 * This library is distributed in the hope that it will be useful,
13
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15
 
 * Lesser General Public License for more details.
16
 
 *
17
 
 * You should have received a copy of the GNU Lesser General Public
18
 
 * License along with this library; if not, write to the Free Software
19
 
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
20
 
 */
21
 
 
22
 
#ifndef _UCSI_DVB_TRANSPORT_STREAM_DESCRIPTOR
23
 
#define _UCSI_DVB_TRANSPORT_STREAM_DESCRIPTOR 1
24
 
 
25
 
#ifdef __cplusplus
26
 
extern "C"
27
 
{
28
 
#endif
29
 
 
30
 
#include <libucsi/descriptor.h>
31
 
#include <libucsi/endianops.h>
32
 
 
33
 
/**
34
 
 * dvb_transport_stream_descriptor structure.
35
 
 */
36
 
struct dvb_transport_stream_descriptor {
37
 
        struct descriptor d;
38
 
 
39
 
        /* uint8_t data[] */
40
 
} __ucsi_packed;
41
 
 
42
 
/**
43
 
 * Process dvb_transport_stream_descriptor structure.
44
 
 *
45
 
 * @param d Pointer to generic descriptor.
46
 
 * @return dvb_transport_stream_descriptor structure or NULL on error.
47
 
 */
48
 
static inline struct dvb_transport_stream_descriptor*
49
 
        dvb_transport_stream_descriptor_codec(struct descriptor* d)
50
 
{
51
 
        return (struct dvb_transport_stream_descriptor*) d;
52
 
}
53
 
 
54
 
/**
55
 
 * Retrieve a pointer to the data field of a dvb_transport_stream_descriptor.
56
 
 *
57
 
 * @param d dvb_transport_stream_descriptor structure.
58
 
 * @return Pointer to data field.
59
 
 */
60
 
static inline uint8_t *
61
 
        dvb_transport_stream_descriptor_data(struct dvb_transport_stream_descriptor *d)
62
 
{
63
 
        return (uint8_t *) d + sizeof(struct dvb_transport_stream_descriptor);
64
 
}
65
 
 
66
 
/**
67
 
 * Calculate the length of the data field of a dvb_transport_stream_descriptor.
68
 
 *
69
 
 * @param d dvb_transport_stream_descriptor structure.
70
 
 * @return length of data field in bytes.
71
 
 */
72
 
static inline int
73
 
        dvb_transport_stream_descriptor_data_length(struct dvb_transport_stream_descriptor *d)
74
 
{
75
 
        return d->d.len;
76
 
}
77
 
 
78
 
#ifdef __cplusplus
79
 
}
80
 
#endif
81
 
 
82
 
#endif