Skip to content

Commit 48f84fb

Browse files
quariumcmassiot
authored andcommitted
upipe-ts: add SCTE-35 avail splice descriptor
1 parent e63c486 commit 48f84fb

File tree

2 files changed

+23
-2
lines changed

2 files changed

+23
-2
lines changed

include/upipe-ts/uref_ts_scte35_desc.h

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2020 EasyTools
2+
* Copyright (C) 2020-2025 EasyTools
33
*
44
* Authors: Arnaud de Turckheim
55
*
@@ -40,8 +40,15 @@ extern "C" {
4040
#include <string.h>
4141
#include <stdint.h>
4242

43+
/* splice descriptor */
4344
UREF_ATTR_SMALL_UNSIGNED(ts_scte35_desc, tag, "scte35.desc.tag", tag)
4445
UREF_ATTR_UNSIGNED(ts_scte35_desc, identifier, "scte35.desc.id", identifier)
46+
47+
/* avail splice descriptor */
48+
UREF_ATTR_UNSIGNED(ts_scte35_desc_avail, provider_avail_id,
49+
"scte35.desc.avail.provider_avail_id", provider avail id)
50+
51+
/* segmentation splice descriptor*/
4552
UREF_ATTR_UNSIGNED(ts_scte35_desc_seg, event_id, "scte35.desc.seg.event_id",
4653
segmentation event id);
4754
UREF_ATTR_VOID(ts_scte35_desc_seg, cancel, "scte35.desc.seg.cancel",

lib/upipe-ts/uref_ts_scte35.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2022 EasyTools
2+
* Copyright (C) 2022-2025 EasyTools
33
*
44
* Authors: Arnaud de Turckheim
55
*
@@ -135,6 +135,20 @@ struct uref *uref_ts_scte35_extract_desc(struct uref *uref, uint64_t at)
135135
length -= SCTE35_SPLICE_DESC_HEADER_SIZE;
136136

137137
switch (tag) {
138+
case SCTE35_SPLICE_DESC_TAG_AVAIL: {
139+
if (length < SCTE35_AVAIL_DESC_HEADER_SIZE) {
140+
uref_free(out);
141+
return NULL;
142+
}
143+
length -= SCTE35_AVAIL_DESC_HEADER_SIZE;
144+
145+
uint32_t provider_avail_id =
146+
scte35_avail_desc_get_provider_avail_id(desc);
147+
uref_ts_scte35_desc_avail_set_provider_avail_id(out,
148+
provider_avail_id);
149+
break;
150+
}
151+
138152
case SCTE35_SPLICE_DESC_TAG_SEG: {
139153
if (length < SCTE35_SEG_DESC_HEADER_SIZE) {
140154
uref_free(out);

0 commit comments

Comments
 (0)