File: check.h

package info (click to toggle)
flvmeta 1.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, sid, stretch, trixie
  • size: 1,016 kB
  • ctags: 1,580
  • sloc: ansic: 14,444; xml: 120; makefile: 3
file content (146 lines) | stat: -rw-r--r-- 9,430 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/*
    FLVMeta - FLV Metadata Editor

    Copyright (C) 2007-2016 Marc Noirot <marc.noirot AT gmail.com>

    This file is part of FLVMeta.

    FLVMeta is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    FLVMeta is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with FLVMeta; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef __CHECK_H__
#define __CHECK_H__

#include "flvmeta.h"

/* message level codes */
#define LEVEL_FATAL     "F"
#define LEVEL_ERROR     "E"
#define LEVEL_WARNING   "W"
#define LEVEL_INFO      "I"

/* message topic codes */
#define TOPIC_GENERAL_FORMAT    "10"
#define TOPIC_HEADER            "11"
#define TOPIC_PREV_TAG_SIZE     "12"
#define TOPIC_TAG_FORMAT        "20"
#define TOPIC_TAG_TYPES         "30"
#define TOPIC_TIMESTAMPS        "40"
#define TOPIC_AUDIO_DATA        "50"
#define TOPIC_AUDIO_CODECS      "51"
#define TOPIC_VIDEO_DATA        "60"
#define TOPIC_VIDEO_CODECS      "61"
#define TOPIC_METADATA          "70"
#define TOPIC_AMF_DATA          "80"
#define TOPIC_KEYFRAMES         "81"
#define TOPIC_CUE_POINTS        "82"

/* info, warning, error codes, sorted by unique identifier */
#define FATAL_HEADER_EOF                    LEVEL_FATAL     TOPIC_HEADER            "001"
#define FATAL_HEADER_NO_SIGNATURE           LEVEL_FATAL     TOPIC_HEADER            "002"
#define ERROR_HEADER_BAD_VERSION            LEVEL_ERROR     TOPIC_HEADER            "003"
#define ERROR_HEADER_NO_STREAMS             LEVEL_ERROR     TOPIC_HEADER            "004"
#define INFO_HEADER_NO_AUDIO                LEVEL_INFO      TOPIC_HEADER            "005"
#define WARNING_HEADER_NO_VIDEO             LEVEL_WARNING   TOPIC_HEADER            "006"
#define ERROR_HEADER_BAD_RESERVED_FLAGS     LEVEL_ERROR     TOPIC_HEADER            "007"
#define ERROR_HEADER_BAD_OFFSET             LEVEL_ERROR     TOPIC_HEADER            "008"
#define FATAL_PREV_TAG_SIZE_EOF             LEVEL_FATAL     TOPIC_PREV_TAG_SIZE     "009"
#define ERROR_PREV_TAG_SIZE_BAD_FIRST       LEVEL_ERROR     TOPIC_PREV_TAG_SIZE     "010"
#define FATAL_GENERAL_NO_TAG                LEVEL_FATAL     TOPIC_GENERAL_FORMAT    "011"
#define FATAL_TAG_EOF                       LEVEL_FATAL     TOPIC_TAG_FORMAT        "012"
#define ERROR_TAG_TYPE_UNKNOWN              LEVEL_ERROR     TOPIC_TAG_TYPES         "013"
#define WARNING_HEADER_UNEXPECTED_VIDEO     LEVEL_WARNING   TOPIC_HEADER            "014"
#define WARNING_HEADER_UNEXPECTED_AUDIO     LEVEL_WARNING   TOPIC_HEADER            "015"
#define FATAL_TAG_BODY_LENGTH_OVERFLOW      LEVEL_FATAL     TOPIC_TAG_FORMAT        "016"
#define WARNING_TAG_BODY_LENGTH_LARGE       LEVEL_WARNING   TOPIC_TAG_FORMAT        "017"
#define WARNING_TAG_BODY_LENGTH_ZERO        LEVEL_WARNING   TOPIC_TAG_FORMAT        "018"
#define ERROR_TIMESTAMP_FIRST_NON_ZERO      LEVEL_ERROR     TOPIC_TIMESTAMPS        "019"
#define ERROR_TIMESTAMP_AUDIO_DECREASE      LEVEL_ERROR     TOPIC_TIMESTAMPS        "020"
#define ERROR_TIMESTAMP_VIDEO_DECREASE      LEVEL_ERROR     TOPIC_TIMESTAMPS        "021"
#define ERROR_TIMESTAMP_OVERFLOW            LEVEL_ERROR     TOPIC_TIMESTAMPS        "022"
#define ERROR_TIMESTAMP_DECREASE            LEVEL_ERROR     TOPIC_TIMESTAMPS        "023"
#define WARNING_TIMESTAMP_DESYNC            LEVEL_WARNING   TOPIC_TIMESTAMPS        "024"
#define ERROR_TAG_STREAM_ID_NON_ZERO        LEVEL_ERROR     TOPIC_TAG_FORMAT        "025"
#define WARNING_AUDIO_FORMAT_CHANGED        LEVEL_WARNING   TOPIC_AUDIO_DATA        "026"
#define WARNING_AUDIO_CODEC_UNKNOWN         LEVEL_WARNING   TOPIC_AUDIO_CODECS      "027"
#define WARNING_AUDIO_CODEC_RESERVED        LEVEL_WARNING   TOPIC_AUDIO_CODECS      "028"
#define WARNING_AUDIO_CODEC_AAC_BAD         LEVEL_WARNING   TOPIC_AUDIO_CODECS      "029"
#define WARNING_AUDIO_CODEC_NELLYMOSER_BAD  LEVEL_WARNING   TOPIC_AUDIO_CODECS      "030"
#define WARNING_AUDIO_CODEC_AAC_MONO        LEVEL_WARNING   TOPIC_AUDIO_CODECS      "031"
#define WARNING_AUDIO_CODEC_LINEAR_PCM      LEVEL_WARNING   TOPIC_AUDIO_CODECS      "032"
#define WARNING_VIDEO_FORMAT_CHANGED        LEVEL_WARNING   TOPIC_VIDEO_DATA        "033"
#define ERROR_VIDEO_FRAME_TYPE_UNKNOWN      LEVEL_ERROR     TOPIC_VIDEO_DATA        "034"
#define WARNING_VIDEO_NO_FIRST_KEYFRAME     LEVEL_WARNING   TOPIC_VIDEO_DATA        "035"
#define ERROR_VIDEO_CODEC_UNKNOWN           LEVEL_ERROR     TOPIC_VIDEO_CODECS      "036"
#define WARNING_VIDEO_CODEC_JPEG            LEVEL_WARNING   TOPIC_VIDEO_CODECS      "037"
#define WARNING_METADATA_EMPTY              LEVEL_WARNING   TOPIC_METADATA          "038"
#define ERROR_METADATA_NAME_INVALID         LEVEL_ERROR     TOPIC_METADATA          "039"
#define ERROR_METADATA_DATA_INVALID         LEVEL_ERROR     TOPIC_METADATA          "040"
#define ERROR_METADATA_NAME_INVALID_TYPE    LEVEL_ERROR     TOPIC_METADATA          "041"
#define WARNING_METADATA_NAME_EMPTY         LEVEL_WARNING   TOPIC_METADATA          "042"
#define WARNING_METADATA_DATA_REMAINING     LEVEL_WARNING   TOPIC_METADATA          "043"
#define WARNING_METADATA_DATA_MISSING       LEVEL_WARNING   TOPIC_METADATA          "044"
#define WARNING_METADATA_LAST_SECOND_DUP    LEVEL_WARNING   TOPIC_METADATA          "045"
#define ERROR_METADATA_DATA_INVALID_TYPE    LEVEL_ERROR     TOPIC_METADATA          "046"
#define WARNING_METADATA_BAD_TAG            LEVEL_WARNING   TOPIC_METADATA          "047"
#define WARNING_METADATA_BAD_TIMESTAMP      LEVEL_WARNING   TOPIC_METADATA          "048"
#define WARNING_METADATA_DUPLICATE          LEVEL_WARNING   TOPIC_METADATA          "049"
#define INFO_METADATA_NAME_UNKNOWN          LEVEL_INFO      TOPIC_METADATA          "050"
#define ERROR_PREV_TAG_SIZE_BAD             LEVEL_ERROR     TOPIC_PREV_TAG_SIZE     "051"
#define WARNING_HEADER_VIDEO_NOT_FOUND      LEVEL_WARNING   TOPIC_HEADER            "052"
#define WARNING_HEADER_AUDIO_NOT_FOUND      LEVEL_WARNING   TOPIC_HEADER            "053"
#define WARNING_TIMESTAMP_VIDEO_ENDS_FIRST  LEVEL_WARNING   TOPIC_TIMESTAMPS        "054"
#define WARNING_TIMESTAMP_AUDIO_ENDS_FIRST  LEVEL_WARNING   TOPIC_TIMESTAMPS        "055"
#define WARNING_VIDEO_NO_KEYFRAME           LEVEL_WARNING   TOPIC_VIDEO_DATA        "056"
#define WARNING_VIDEO_ONLY_KEYFRAMES        LEVEL_WARNING   TOPIC_VIDEO_DATA        "057"
#define WARNING_VIDEO_ONLY_KF_LAST_SEC      LEVEL_WARNING   TOPIC_VIDEO_DATA        "058"
#define WARNING_METADATA_LAST_SECOND_BAD    LEVEL_WARNING   TOPIC_METADATA          "059"
#define WARNING_METADATA_NOT_PRESENT        LEVEL_WARNING   TOPIC_METADATA          "060"
#define FATAL_INFO_COMPUTATION_ERROR        LEVEL_FATAL     TOPIC_GENERAL_FORMAT    "061"
#define WARNING_AMF_DATA_INVALID_VALUE      LEVEL_WARNING   TOPIC_AMF_DATA          "062"
#define WARNING_AMF_DATA_INVALID_TYPE       LEVEL_WARNING   TOPIC_AMF_DATA          "063"
#define WARNING_AMF_DATA_VIDEO_NEEDED       LEVEL_WARNING   TOPIC_AMF_DATA          "064"
#define WARNING_AMF_DATA_AUDIO_NEEDED       LEVEL_WARNING   TOPIC_AMF_DATA          "065"
#define WARNING_AMF_DATA_AUDIO_VIDEO_NEEDED LEVEL_WARNING   TOPIC_AMF_DATA          "066"
#define WARNING_KEYFRAMES_TIMES_MISSING     LEVEL_WARNING   TOPIC_KEYFRAMES         "067"
#define WARNING_KEYFRAMES_FILEPOS_MISSING   LEVEL_WARNING   TOPIC_KEYFRAMES         "068"
#define WARNING_KEYFRAMES_TIMES_TYPE_BAD    LEVEL_WARNING   TOPIC_KEYFRAMES         "069"
#define WARNING_KEYFRAMES_FILEPOS_TYPE_BAD  LEVEL_WARNING   TOPIC_KEYFRAMES         "070"
#define WARNING_KEYFRAMES_ARRAY_LENGTH_BAD  LEVEL_WARNING   TOPIC_KEYFRAMES         "071"
#define WARNING_KEYFRAMES_TIME_TYPE_BAD     LEVEL_WARNING   TOPIC_KEYFRAMES         "072"
#define WARNING_KEYFRAMES_POS_TYPE_BAD      LEVEL_WARNING   TOPIC_KEYFRAMES         "073"
#define WARNING_KEYFRAMES_TIME_BAD          LEVEL_WARNING   TOPIC_KEYFRAMES         "074"
#define WARNING_KEYFRAMES_POS_BAD           LEVEL_WARNING   TOPIC_KEYFRAMES         "075"
#define WARNING_KEYFRAMES_TIME_DUPLICATE    LEVEL_WARNING   TOPIC_KEYFRAMES         "076"
#define ERROR_VIDEO_WIDTH_MISSING           LEVEL_ERROR     TOPIC_VIDEO_DATA        "077"
#define ERROR_VIDEO_HEIGHT_MISSING          LEVEL_ERROR     TOPIC_VIDEO_DATA        "078"
#define WARNING_VIDEO_SIZE_ERROR            LEVEL_WARNING   TOPIC_VIDEO_DATA        "079"
#define INFO_VIDEO_CODEC                    LEVEL_INFO      TOPIC_VIDEO_CODECS      "080"
#define INFO_AUDIO_FORMAT                   LEVEL_INFO      TOPIC_AUDIO_CODECS      "081"
#define INFO_TIMESTAMP_USE_EXTENDED         LEVEL_INFO      TOPIC_TIMESTAMPS        "082"
#define INFO_GENERAL_LARGE_FILE             LEVEL_INFO      TOPIC_GENERAL_FORMAT    "083"
#define FATAL_CONSECUTIVE_UNKNOWN_TAGS      LEVEL_FATAL     TOPIC_TAG_TYPES         "084"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* check FLV file validity */
int check_flv_file(const flvmeta_opts * opts);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __CHECK_H__ */