Implement support for SCTE-35 switching messages.

This module implements a dissector for the main table in a SCTE-35 message, a
splice_info_section. This payload is carried in a MPEG Section Table with a
table ID of 0xFC. PIDs carrying this sort of table are also noted in the PMT
with a stream type of 0x86, and a registration descriptor with fourcc 'CUEI'.

The various splice command types are implemented in separate modules, and are
linked to this dissector through the field scte35.splice_command_type. Field
names follow the conventions documented in the SCTE35 specification.

This dissector does not support encrypted SCTE35 messages, other than
indication through the scte35.encrypted_packet flag.

The SCTE-35 protocol is described by the Society of Cable Telecommunications
Engineers at <https://www.scte.org/documents/pdf/Standards/Top%20Ten/ANSI_SCTE%2035%202013.pdf>.

Bug: 12521
Change-Id: I3113e6e61a4e7f1a4a932a0128ca2846c7ce6e6f
Reviewed-on: https://code.wireshark.org/review/15562
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Ben Stewart 2016-05-25 14:36:51 -07:00 committed by Anders Broman
parent a5166affc4
commit 0ebaffe0a8
5 changed files with 1539 additions and 0 deletions

View File

@ -3674,6 +3674,9 @@ Barbu Paul - Gheorghe <barbu.paul.gheorghe[AT]gmail.com> {
Martin Kacer <kacer.martin[AT]gmail.com> {
JSON and Elasticsearch tshark output
}
Ben Stewart <bst[AT]google.com> {
SCTE-35 dissector
}
Sumit Kumar Jha <sjha3[AT]ncsu.edu> {
Generic Protocol Extension Support for VXLAN

View File

@ -128,6 +128,8 @@ vSocket
ISO 15765
Unified Diagnostic Services (UDS)
Encrypted UDP based FTP with multicast
SCTE-35 Digital Program Insertion Messages
--sort-and-group--
=== Updated Protocol Support

View File

@ -1161,6 +1161,7 @@ set(DISSECTOR_SRC
packet-scsi-smc.c
packet-scsi-ssc.c
packet-scsi.c
packet-scte35.c
packet-sctp.c
packet-sdh.c
packet-sdlc.c

View File

@ -109,6 +109,7 @@ static const value_string mpeg_pmt_stream_type_vals[] = {
{ 0x24, "ITU-T Rec. H.265 and ISO/IEC 23008-2 (Ultra HD video) in a packetized stream" },
{ 0x7F, "IPMP stream" },
{ 0x81, "ATSC A/52 Audio" },
{ 0x86, "SCTE-35 Splice Information" },
{ 0xA1, "ETV-AM BIF Data Stream" },
{ 0xC0, "ETV-AM EISS Signaling" },
{ 0x00, NULL }

File diff suppressed because it is too large Load Diff