• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * gstmpegtsdescriptor.h -
3  * Copyright (C) 2020 Edward Hervey
4  *
5  * Authors:
6  *   Edward Hervey <edward@centricular.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the
20  * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
21  * Boston, MA 02110-1301, USA.
22  */
23 
24 #ifndef GST_ATSC_DESCRIPTOR_H
25 #define GST_ATSC_DESCRIPTOR_H
26 
27 #include <gst/gst.h>
28 #include <gst/mpegts/mpegts-prelude.h>
29 
30 G_BEGIN_DECLS
31 
32 /**
33  * SECTION:gst-atsc-descriptor
34  * @title: ATSC variants of MPEG-TS descriptors
35  * @short_description: Descriptors for the various ATSC specifications
36  * @include: gst/mpegts/mpegts.h
37  *
38  * This contains the various descriptors defined by the ATSC specifications
39  */
40 
41 /**
42  * GstMpegtsATSCDescriptorType:
43  *
44  * These values correspond to the registered descriptor type from
45  * the various ATSC specifications.
46  *
47  * Consult the relevant specifications for more details.
48  */
49 typedef enum {
50   /* ATSC A/65 2009 */
51   GST_MTS_DESC_ATSC_STUFFING                    = 0x80,
52   GST_MTS_DESC_ATSC_AC3                         = 0x81,
53   GST_MTS_DESC_ATSC_CAPTION_SERVICE             = 0x86,
54   GST_MTS_DESC_ATSC_CONTENT_ADVISORY            = 0x87,
55   GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME       = 0xA0,
56   GST_MTS_DESC_ATSC_SERVICE_LOCATION            = 0xA1,
57   GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE        = 0xA2,
58   GST_MTS_DESC_ATSC_COMPONENT_NAME              = 0xA3,
59   GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST       = 0xA8,
60   GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST        = 0xA9,
61   GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL      = 0xAA,
62   GST_MTS_DESC_ATSC_GENRE                       = 0xAB,
63   GST_MTS_DESC_ATSC_PRIVATE_INFORMATION         = 0xAD,
64   GST_MTS_DESC_ATSC_EAC3                        = 0xCC,
65 
66   /* ATSC A/53:3 2009 */
67   GST_MTS_DESC_ATSC_ENHANCED_SIGNALING          = 0xB2,
68 
69   /* ATSC A/90 */
70   GST_MTS_DESC_ATSC_DATA_SERVICE                = 0xA4,
71   GST_MTS_DESC_ATSC_PID_COUNT                   = 0xA5,
72   GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR         = 0xA6,
73   GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION = 0xA7,
74   GST_MTS_DESC_ATSC_MODULE_LINK                 = 0xB4,
75   GST_MTS_DESC_ATSC_CRC32                       = 0xB5,
76   GST_MTS_DESC_ATSC_GROUP_LINK                  = 0xB8,
77 } GstMpegtsATSCDescriptorType;
78 
79 /* For backwards compatibility */
80 /**
81  * GST_MTS_DESC_AC3_AUDIO_STREAM: (skip) (attributes doc.skip=true)
82  */
83 #define GST_MTS_DESC_AC3_AUDIO_STREAM GST_MTS_DESC_ATSC_AC3
84 
85 G_END_DECLS
86 
87 #endif
88