gst-scte-section.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. /*
  2. * gst-scte-section.h -
  3. * Copyright (C) 2013, CableLabs, Louisville, CO 80027
  4. *
  5. * Authors:
  6. * RUIH Team <[email protected]>
  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. #ifndef GST_SCTE_SECTION_H
  24. #define GST_SCTE_SECTION_H
  25. #include <gst/gst.h>
  26. #include <gst/mpegts/gstmpegtssection.h>
  27. #include <gst/mpegts/gstmpegtsdescriptor.h>
  28. G_BEGIN_DECLS
  29. /**
  30. * GstMpegtsScteStreamType:
  31. * @GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING: SCTE-27 Subtitling
  32. * @GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA: SCTE-19 Isochronous data
  33. * @GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT: SCTE-07 Data Service or
  34. * Network Resource Table
  35. * @GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB: Type B - DSM-CC Data Carousel
  36. * [IEC 13818-6])
  37. * @GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING: Enhanced Television Application
  38. * Signaling (OC-SP-ETV-AM1.0.1-120614)
  39. * @GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA: SCTE-07 Synchronous data
  40. * @GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA: SCTE-53 Asynchronous data
  41. *
  42. * Type of mpeg-ts streams for SCTE
  43. *
  44. */
  45. typedef enum {
  46. /* 0x01 - 0x82 : defined in other specs */
  47. GST_MPEGTS_STREAM_TYPE_SCTE_SUBTITLING = 0x82, /* Subtitling data */
  48. GST_MPEGTS_STREAM_TYPE_SCTE_ISOCH_DATA = 0x83, /* Isochronous data */
  49. /* 0x84 - 0x94 : defined in other specs */
  50. GST_MPEGTS_STREAM_TYPE_SCTE_DST_NRT = 0x95, /* DST / NRT data */
  51. /* 0x96 - 0xaf : defined in other specs */
  52. GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB = 0xb0, /* Data Carousel Type B */
  53. /* 0xb1 - 0xbf : User Private (or defined in other specs) */
  54. GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING = 0xc0, /* EBIF Signaling */
  55. GST_MPEGTS_STREAM_TYPE_SCTE_SYNC_DATA = 0xc2, /* Synchronous data */
  56. GST_MPEGTS_STREAM_TYPE_SCTE_ASYNC_DATA = 0xc3, /* Asynchronous data */
  57. /* 0xc4 - 0xff : User Private (or defined in other specs) */
  58. } GstMpegtsScteStreamType;
  59. /**
  60. * GstMpegtsSectionSCTETableID:
  61. * @GST_MTS_TABLE_ID_SCTE_EAS: SCTE-18 Emergency Alert System
  62. * @GST_MTS_TABLE_ID_SCTE_EBIF: CL-SP-ETV-AM 1.0.1 EBIF message
  63. * @GST_MTS_TABLE_ID_SCTE_EISS: CL-SP-ETV-AM 1.0.1 EBIF Int. Signaling Sect.
  64. * @GST_MTS_TABLE_ID_SCTE_DII: CL-SP-ETV-AM 1.0.1 DSMCC DII message
  65. * @GST_MTS_TABLE_ID_SCTE_DDB: CL-SP-ETV-AM 1.0.1 DSMCC Data Download Block
  66. * @GST_MTS_TABLE_ID_SCTE_SPLICE: SCTE-35 splice information is carried in a
  67. * section stream on a separate PID in the program’s Map Table (PMT) allowing
  68. * Splice Event notifications to remain associated with the program and pass
  69. * through multiplexers.
  70. *
  71. * Values for a #GstMpegtsSection table_id.
  72. *
  73. * These are the registered SCTE table_id variants.
  74. *
  75. * see also: #GstMpegtsSectionTableID
  76. */
  77. typedef enum {
  78. /* 0x01 - 0xd7 : defined in other specs */
  79. GST_MTS_TABLE_ID_SCTE_EAS = 0xd8, /* emergency alert information */
  80. /* 0xd8 - 0xdf : defined in other specs */
  81. GST_MTS_TABLE_ID_SCTE_EBIF = 0xE0, /* EBIF message */
  82. GST_MTS_TABLE_ID_SCTE_RESERVED = 0xE1,
  83. GST_MTS_TABLE_ID_SCTE_EISS = 0xE2, /* EBIF Int. Signaling Sect. */
  84. GST_MTS_TABLE_ID_SCTE_DII = 0xE3, /* DSMCC DII message */
  85. GST_MTS_TABLE_ID_SCTE_DDB = 0xE4, /* DSMCC Data Download Block */
  86. /* 0xe5 - 0xfb : defined in other specs */
  87. GST_MTS_TABLE_ID_SCTE_SPLICE = 0xfc, /* splice information table */
  88. } GstMpegtsSectionSCTETableID;
  89. G_END_DECLS
  90. #endif /* GST_SCTE_SECTION_H */