SCTE 104/35 Codex

SCTE 104

ANSI/SCTE 104 2018

SCTE 104 · Part 1 · 2018

Official standard ↗

This codex models a curated subset of SCTE 104's operations, focused on the message structures the parser decodes. See the official standard for the complete opID table.

Sections

single_operation_message()

8.2.2
FieldBitsTypeConstraintConditionClause
opID16uimsbf8.2.2.1
messageSize16uimsbf8.2.2.1
result16uimsbf8.2.2.1
result_extension16uimsbf0xFFFF unless conveying additional result information8.2.2.1
protocol_version8uimsbf0x008.2.2.1
AS_index8uimsbf8.2.2.1
message_number8uimsbf8.2.2.1
DPI_PID_index16uimsbf8.2.2.1
data()variesstructure8.2.2.1

multiple_operation_message()

8.2.3
FieldBitsTypeConstraintConditionClause
Reserved16uimsbf0xFFFF8.2.3.3
messageSize16uimsbf8.2.3.3
protocol_version8uimsbf0x008.2.3.3
AS_index8uimsbf8.2.3.3
message_number8uimsbf8.2.3.3
DPI_PID_index16uimsbf8.2.3.3
SCTE35_protocol_version8uimsbf0x008.2.3.3
timestamp()variesstructure8.2.3.3
num_ops8uimsbf8.2.3.3
opID16uimsbffor (i=0; i<num_ops; i++)8.2.3.3
data_length16uimsbffor (i=0; i<num_ops; i++)8.2.3.3
data()variesstructurefor (i=0; i<num_ops; i++); length = data_length8.2.3.3

time()

12.4
FieldBitsTypeConstraintConditionClause
seconds32uimsbf12.4.1
microseconds32uimsbf12.4.1

timestamp()

12.5
FieldBitsTypeConstraintConditionClause
time_type8uimsbf12.5.1
UTC_seconds32uimsbfif time_type == 112.5.1
UTC_microseconds16uimsbfif time_type == 112.5.1
hours8uimsbfif time_type == 212.5.1
minutes8uimsbfif time_type == 212.5.1
seconds8uimsbfif time_type == 212.5.1
frames8uimsbfif time_type == 212.5.1
GPI_number8uimsbfif time_type == 312.5.1
GPI_edge8uimsbfif time_type == 312.5.1

splice_request_data()

9.3.1
FieldBitsTypeConstraintConditionClause
splice_insert_type8uimsbf0x01-0x05 (0x00 reserved)9.3.1.1
splice_event_id32uimsbf9.3.1.1
unique_program_id16uimsbf9.3.1.1
pre_roll_time16uimsbf9.3.1.1
break_duration16uimsbf9.3.1.1
avail_num8uimsbf9.3.1.1
avails_expected8uimsbf9.3.1.1
auto_return_flag8uimsbf9.3.1.1

time_signal_request_data()

9.8.1
FieldBitsTypeConstraintConditionClause
pre-roll_time16uimsbf9.8.1.1

splice_null_request_data()

9.8.2

No fields are listed for this structure.

insert_avail_descriptor_request_data()

9.8.4
FieldBitsTypeConstraintConditionClause
num_provider_avails8uimsbf9.8.4.1
provider_avail_id32uimsbffor (i=0; i<num_provider_avails; i++)9.8.4.1

insert_descriptor_request_data()

9.8.5
FieldBitsTypeConstraintConditionClause
descriptor_count8uimsbf9.8.5.1
descriptor_image()variesstructurefor (i=0; i<descriptor_count; i++); complete SCTE 35 descriptor image, length is the descriptor's own second byte9.8.5.1

insert_DTMF_descriptor_request_data()

9.8.6
FieldBitsTypeConstraintConditionClause
pre-roll8uimsbf9.8.6.1
dtmf_length8uimsbf9.8.6.1
DTMF_char8uimsbffor (i=0; i<dtmf_length; i++)9.8.6.1

insert_segmentation_descriptor_request_data()

9.8.7
FieldBitsTypeConstraintConditionClause
segmentation_event_id32uimsbf9.8.7.1
segmentation_event_cancel_indicator8uimsbf9.8.7.1
duration16uimsbf9.8.7.1
segmentation_upid_type8uimsbf9.8.7.1
segmentation_upid_length8uimsbf9.8.7.1
segmentation_upidN*8uimsbflength = segmentation_upid_length9.8.7.1
segmentation_type_id8uimsbf9.8.7.1
segment_num8uimsbf9.8.7.1
segments_expected8uimsbf9.8.7.1
duration_extension_frames8uimsbf9.8.7.1
delivery_not_restricted_flag8uimsbf9.8.7.1
web_delivery_allowed_flag8uimsbf9.8.7.1
no_regional_blackout_flag8uimsbf9.8.7.1
archive_allowed_flag8uimsbf9.8.7.1
device_restrictions8uimsbf9.8.7.1
insert_sub_segment_info8uimsbf9.8.7.1
sub_segment_num8uimsbf9.8.7.1
sub_segments_expected8uimsbf9.8.7.1

insert_tier_data()

9.8.9
FieldBitsTypeConstraintConditionClause
tier_data16uimsbfmost significant nibble 0x0; lower 12 bits carry tier9.8.9.1

insert_time_descriptor()

9.8.10
FieldBitsTypeConstraintConditionClause
TAI_seconds48uimsbf9.8.10.1
TAI_ns32uimsbf9.8.10.1
UTC_offset16uimsbf9.8.10.1

alive_request_data()

9.2.1
FieldBitsTypeConstraintConditionClause
time()64structureoptional; required when the multiple_operation_message() timestamp() time_type is non-zero9.2.1.1

alive_response_data()

9.2.2
FieldBitsTypeConstraintConditionClause
time()64structureoptional; required when the multiple_operation_message() timestamp() time_type is non-zero9.2.2.1

inject_response_data()

9.6.2
FieldBitsTypeConstraintConditionClause
message_number8uimsbf9.6.2.1

inject_complete_response_data()

9.6.3
FieldBitsTypeConstraintConditionClause
message_number8uimsbf9.6.3.1
cue_message_count8uimsbf9.6.3.1