Coverage Report

Created: 2026-04-12 07:27

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/vlc/modules/demux/mpeg/ts_streams.h
Line
Count
Source
1
/*****************************************************************************
2
 * ts_streams.h: Transport Stream input module for VLC.
3
 *****************************************************************************
4
 * Copyright (C) 2004-2016 VLC authors and VideoLAN
5
 *
6
 * This program is free software; you can redistribute it and/or modify it
7
 * under the terms of the GNU Lesser General Public License as published by
8
 * the Free Software Foundation; either version 2.1 of the License, or
9
 * (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
 * GNU Lesser General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
 *****************************************************************************/
19
#ifndef VLC_TS_STREAMS_H
20
#define VLC_TS_STREAMS_H
21
22
typedef struct ts_es_t ts_es_t;
23
typedef struct ts_pat_t ts_pat_t;
24
typedef struct ts_pmt_t ts_pmt_t;
25
typedef struct ts_stream_t ts_stream_t;
26
typedef struct ts_si_t  ts_si_t;
27
typedef struct ts_psip_t ts_psip_t;
28
29
typedef struct ts_stream_processor_t ts_stream_processor_t;
30
struct ts_stream_processor_t
31
{
32
    void *priv;
33
    void (*pf_delete)(ts_stream_processor_t *);
34
    void (*pf_reset)  (ts_stream_processor_t *);
35
    block_t * (*pf_push) (ts_stream_processor_t *, uint8_t, block_t * );
36
};
37
38
static inline void ts_stream_processor_Delete( ts_stream_processor_t *sp )
39
27.9k
{
40
27.9k
    if( sp )
41
27.9k
        sp->pf_delete( sp );
42
27.9k
}
Unexecuted instantiation: ts.c:ts_stream_processor_Delete
Unexecuted instantiation: ts_pid.c:ts_stream_processor_Delete
Unexecuted instantiation: ts_psi.c:ts_stream_processor_Delete
Unexecuted instantiation: ts_si.c:ts_stream_processor_Delete
Unexecuted instantiation: ts_psip.c:ts_stream_processor_Delete
ts_streams.c:ts_stream_processor_Delete
Line
Count
Source
39
27.9k
{
40
27.9k
    if( sp )
41
27.9k
        sp->pf_delete( sp );
42
27.9k
}
Unexecuted instantiation: ts_scte.c:ts_stream_processor_Delete
Unexecuted instantiation: sections.c:ts_stream_processor_Delete
Unexecuted instantiation: ts_arib.c:ts_stream_processor_Delete
Unexecuted instantiation: ts_sl.c:ts_stream_processor_Delete
Unexecuted instantiation: ts_metadata.c:ts_stream_processor_Delete
Unexecuted instantiation: ts_hotfixes.c:ts_stream_processor_Delete
Unexecuted instantiation: ts_pes.c:ts_stream_processor_Delete
43
44
static inline void ts_stream_processor_Reset( ts_stream_processor_t *sp )
45
96
{
46
96
    if( sp && sp->pf_reset )
47
96
        sp->pf_reset( sp );
48
96
}
ts.c:ts_stream_processor_Reset
Line
Count
Source
45
96
{
46
96
    if( sp && sp->pf_reset )
47
96
        sp->pf_reset( sp );
48
96
}
Unexecuted instantiation: ts_pid.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_psi.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_si.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_psip.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_streams.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_scte.c:ts_stream_processor_Reset
Unexecuted instantiation: sections.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_arib.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_sl.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_metadata.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_hotfixes.c:ts_stream_processor_Reset
Unexecuted instantiation: ts_pes.c:ts_stream_processor_Reset
49
50
static inline block_t * ts_stream_processor_Push( ts_stream_processor_t *sp, uint8_t i_stream_id, block_t *b )
51
620k
{
52
620k
    return (sp) ? sp->pf_push( sp, i_stream_id, b ) : b;
53
620k
}
ts.c:ts_stream_processor_Push
Line
Count
Source
51
620k
{
52
620k
    return (sp) ? sp->pf_push( sp, i_stream_id, b ) : b;
53
620k
}
Unexecuted instantiation: ts_pid.c:ts_stream_processor_Push
Unexecuted instantiation: ts_psi.c:ts_stream_processor_Push
Unexecuted instantiation: ts_si.c:ts_stream_processor_Push
Unexecuted instantiation: ts_psip.c:ts_stream_processor_Push
Unexecuted instantiation: ts_streams.c:ts_stream_processor_Push
Unexecuted instantiation: ts_scte.c:ts_stream_processor_Push
Unexecuted instantiation: sections.c:ts_stream_processor_Push
Unexecuted instantiation: ts_arib.c:ts_stream_processor_Push
Unexecuted instantiation: ts_sl.c:ts_stream_processor_Push
Unexecuted instantiation: ts_metadata.c:ts_stream_processor_Push
Unexecuted instantiation: ts_hotfixes.c:ts_stream_processor_Push
Unexecuted instantiation: ts_pes.c:ts_stream_processor_Push
54
55
/* Structs */
56
ts_pat_t *ts_pat_New( demux_t * );
57
void ts_pat_Del( demux_t *, ts_pat_t * );
58
ts_pmt_t *ts_pat_Get_pmt( ts_pat_t *, uint16_t );
59
60
ts_pmt_t *ts_pmt_New( demux_t * );
61
void ts_pmt_Del( demux_t *, ts_pmt_t * );
62
63
ts_es_t * ts_es_New( ts_pmt_t * );
64
void ts_stream_Add_es( ts_stream_t *, ts_es_t *, bool );
65
ts_es_t * ts_stream_Extract_es( ts_stream_t *, const ts_pmt_t * );
66
ts_es_t * ts_stream_Find_es( ts_stream_t *, const ts_pmt_t * );
67
size_t ts_Count_es( const ts_es_t *, bool, const ts_pmt_t * );
68
69
ts_stream_t *ts_stream_New( demux_t *, ts_pmt_t * );
70
void ts_stream_Del( demux_t *, ts_stream_t * );
71
72
ts_si_t *ts_si_New( demux_t * );
73
void ts_si_Del( demux_t *, ts_si_t * );
74
75
ts_psip_t *ts_psip_New( demux_t * );
76
void ts_psip_Del( demux_t *, ts_psip_t * );
77
78
#endif