Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libdvbpsi
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
libdvbpsi
Commits
57e76567
Commit
57e76567
authored
Feb 10, 2016
by
Jean-Paul Saman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dvbinfo: decode SIS table splice schedule command
parent
f926c252
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
5 deletions
+50
-5
examples/dvbinfo/libdvbpsi.c
examples/dvbinfo/libdvbpsi.c
+50
-5
No files found.
examples/dvbinfo/libdvbpsi.c
View file @
57e76567
...
@@ -1617,6 +1617,48 @@ static void DumpSISDescriptors(const char* str, dvbpsi_descriptor_t* p_descripto
...
@@ -1617,6 +1617,48 @@ static void DumpSISDescriptors(const char* str, dvbpsi_descriptor_t* p_descripto
}
}
}
}
static
void
DumpSpliceScheduleCMD
(
dvbpsi_sis_cmd_splice_schedule_t
*
p_schedule
)
{
printf
(
"
\t\t
Splice event count: %u
\n
"
,
p_schedule
->
i_splice_count
);
dvbpsi_sis_splice_event_t
*
p_event
=
p_schedule
->
p_splice_event
;
for
(
int
i
=
0
;
i
<
p_schedule
->
i_splice_count
;
i
++
)
{
printf
(
"
\t\t
identifier: %u
\n
"
,
p_event
->
i_splice_event_id
);
printf
(
"
\t\t
cancel indicator: %s
\n
"
,
p_event
->
b_splice_event_cancel_indicator
?
"yes"
:
"no"
);
if
(
!
p_event
->
b_splice_event_cancel_indicator
)
{
printf
(
"
\t\t
out of network indicator: %s
\n
"
,
p_event
->
b_out_of_network_indicator
?
"yes"
:
"no"
);
printf
(
"
\t\t
program splice flag: %s
\n
"
,
p_event
->
b_program_splice_flag
?
"yes"
:
"no"
);
printf
(
"
\t\t
duration flag: %s"
,
p_event
->
b_duration_flag
?
"yes"
:
"no"
);
if
(
p_event
->
b_program_splice_flag
)
{
printf
(
"
\t\t
utc_splice_time: %u
\n
"
,
p_event
->
i_utc_splice_time
);
}
else
{
printf
(
"
\t\t
component count: %u
\n
"
,
p_event
->
i_component_count
);
dvbpsi_sis_component_t
*
p_component
=
p_event
->
p_component
;
for
(
int
j
=
0
;
j
<
p_event
->
i_component_count
;
j
++
)
{
printf
(
"
\t\t\t
component tag: %u
\n
"
,
p_component
->
i_tag
);
printf
(
"
\t\t\t
utc splice time: %u
\n
"
,
p_component
->
i_utc_splice_time
);
p_component
=
p_component
->
p_next
;
}
}
if
(
p_event
->
b_duration_flag
)
{
printf
(
"
\t\t
break duration
\n
"
);
printf
(
"
\t\t\t
auto return: %s
\n
"
,
p_event
->
i_break_duration
.
b_auto_return
?
"yes"
:
"no"
);
printf
(
"
\t\t\t
duration: %"
PRId64
"
\n
"
,
p_event
->
i_break_duration
.
i_duration
);
}
}
printf
(
"
\t\t
unique program id: %u
\n
"
,
p_event
->
i_unique_program_id
);
printf
(
"
\t\t
avail number: %u
\n
"
,
p_event
->
i_avail_num
);
printf
(
"
\t\t
avail expected: %u
\n
"
,
p_event
->
i_avails_expected
);
p_event
=
p_event
->
p_next
;
}
}
static
void
handle_SIS
(
void
*
p_data
,
dvbpsi_sis_t
*
p_sis
)
static
void
handle_SIS
(
void
*
p_data
,
dvbpsi_sis_t
*
p_sis
)
{
{
ts_stream_t
*
p_stream
=
(
ts_stream_t
*
)
p_data
;
ts_stream_t
*
p_stream
=
(
ts_stream_t
*
)
p_data
;
...
@@ -1637,19 +1679,22 @@ static void handle_SIS(void* p_data, dvbpsi_sis_t* p_sis)
...
@@ -1637,19 +1679,22 @@ static void handle_SIS(void* p_data, dvbpsi_sis_t* p_sis)
{
{
default:
default:
case
0x00
:
case
0x00
:
printf
(
"splice_null"
);
printf
(
"
\t
splice_null"
);
break
;
break
;
case
0x04
:
case
0x04
:
printf
(
"splice_schedule"
);
printf
(
"
\t
splice_schedule"
);
dvbpsi_sis_cmd_splice_schedule_t
*
p_schedule
=
(
dvbpsi_sis_cmd_splice_schedule_t
*
)
p_sis
->
p_splice_command
;
DumpSpliceScheduleCMD
(
p_schedule
);
break
;
break
;
case
0x05
:
case
0x05
:
printf
(
"splice_insert"
);
printf
(
"
\t
splice_insert"
);
break
;
break
;
case
0x06
:
case
0x06
:
printf
(
"time_signal"
);
printf
(
"
\t
time_signal"
);
break
;
break
;
case
0x07
:
case
0x07
:
printf
(
"bandwidth_reservation"
);
printf
(
"
\t
bandwidth_reservation"
);
break
;
break
;
}
}
printf
(
"
\n
"
);
printf
(
"
\n
"
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment