History

avformat/asf: Move ASF GUIDs to a new file

They are also needed by the MMSH and MMST protocols and therefore the file they are in is pulled in when these protocols are enabled and used. By moving them to a separate file, linking statically to libavformat while only using AVIO no longer pulls in all the muxers/demuxers (and also no longer any AVCodecs when linking statically to libavcodec).

Andreas Rheinhardt committed 4 years ago

Commit 493356c1 parent 8e2f48f4 files · +154 −134Browse files

Showing the changes to libavformat (4 of 4 files). Show all

Unified · Split

4 files
  1. libavformat/Makefile +4 −4
  2. libavformat/asf.c +0 −129
  3. libavformat/asf_tags.c +150 −0
  4. libavformat/mmsh.c +0 −1
libavformat/Makefile+4−4
@@ -117,9 +117,9 @@ OBJS-$(CONFIG_ARGO_BRP_DEMUXER) += argo_brp.o argo_asf.o · 116 unmodified lines
117117 OBJS-$(CONFIG_ARGO_CVG_DEMUXER) += argo_cvg.o
118118 OBJS-$(CONFIG_ARGO_CVG_MUXER) += argo_cvg.o
119119 OBJS-$(CONFIG_ASF_DEMUXER) += asfdec_f.o asf.o asfcrypt.o \
120− avlanguage.o
120+ asf_tags.o avlanguage.o
121121 OBJS-$(CONFIG_ASF_O_DEMUXER) += asfdec_o.o asf.o asfcrypt.o \
122− avlanguage.o
122+ asf_tags.o avlanguage.o
123123 OBJS-$(CONFIG_ASF_MUXER) += asfenc.o asf.o avlanguage.o
124124 OBJS-$(CONFIG_ASS_DEMUXER) += assdec.o subtitles.o
125125 OBJS-$(CONFIG_ASS_MUXER) += assenc.o
@@ -649,8 +649,8 @@ OBJS-$(CONFIG_HTTPPROXY_PROTOCOL) += http.o httpauth.o urldecode.o · 523 unmodified lines
649649 OBJS-$(CONFIG_HTTPS_PROTOCOL) += http.o httpauth.o urldecode.o
650650 OBJS-$(CONFIG_ICECAST_PROTOCOL) += icecast.o
651651 OBJS-$(CONFIG_MD5_PROTOCOL) += md5proto.o
652−OBJS-$(CONFIG_MMSH_PROTOCOL) += mmsh.o mms.o asf.o
653−OBJS-$(CONFIG_MMST_PROTOCOL) += mmst.o mms.o asf.o
652+OBJS-$(CONFIG_MMSH_PROTOCOL) += mmsh.o mms.o asf_tags.o
653+OBJS-$(CONFIG_MMST_PROTOCOL) += mmst.o mms.o asf_tags.o
654654 OBJS-$(CONFIG_PIPE_PROTOCOL) += file.o
655655 OBJS-$(CONFIG_PROMPEG_PROTOCOL) += prompeg.o
656656 OBJS-$(CONFIG_RTMP_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o
libavformat/asf.c+0−129
@@ -23,135 +23,6 @@ · 22 unmodified lines
2323 #include "id3v2.h"
2424 #include "internal.h"
2525
26−const ff_asf_guid ff_asf_header = {
27− 0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C
28−};
29−
30−const ff_asf_guid ff_asf_file_header = {
31− 0xA1, 0xDC, 0xAB, 0x8C, 0x47, 0xA9, 0xCF, 0x11, 0x8E, 0xE4, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
32−};
33−
34−const ff_asf_guid ff_asf_stream_header = {
35− 0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
36−};
37−
38−const ff_asf_guid ff_asf_ext_stream_header = {
39− 0xCB, 0xA5, 0xE6, 0x14, 0x72, 0xC6, 0x32, 0x43, 0x83, 0x99, 0xA9, 0x69, 0x52, 0x06, 0x5B, 0x5A
40−};
41−
42−const ff_asf_guid ff_asf_audio_stream = {
43− 0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
44−};
45−
46−const ff_asf_guid ff_asf_audio_conceal_spread = {
47− 0x50, 0xCD, 0xC3, 0xBF, 0x8F, 0x61, 0xCF, 0x11, 0x8B, 0xB2, 0x00, 0xAA, 0x00, 0xB4, 0xE2, 0x20
48−};
49−
50−const ff_asf_guid ff_asf_video_stream = {
51− 0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
52−};
53−
54−const ff_asf_guid ff_asf_jfif_media = {
55− 0x00, 0xE1, 0x1B, 0xB6, 0x4E, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
56−};
57−
58−const ff_asf_guid ff_asf_video_conceal_none = {
59− 0x00, 0x57, 0xFB, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
60−};
61−
62−const ff_asf_guid ff_asf_command_stream = {
63− 0xC0, 0xCF, 0xDA, 0x59, 0xE6, 0x59, 0xD0, 0x11, 0xA3, 0xAC, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
64−};
65−
66−const ff_asf_guid ff_asf_comment_header = {
67− 0x33, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
68−};
69−
70−const ff_asf_guid ff_asf_codec_comment_header = {
71− 0x40, 0x52, 0xD1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xA3, 0xA4, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
72−};
73−const ff_asf_guid ff_asf_codec_comment1_header = {
74− 0x41, 0x52, 0xd1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xa3, 0xa4, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
75−};
76−
77−const ff_asf_guid ff_asf_data_header = {
78− 0x36, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
79−};
80−
81−const ff_asf_guid ff_asf_head1_guid = {
82− 0xb5, 0x03, 0xbf, 0x5f, 0x2E, 0xA9, 0xCF, 0x11, 0x8e, 0xe3, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
83−};
84−
85−const ff_asf_guid ff_asf_head2_guid = {
86− 0x11, 0xd2, 0xd3, 0xab, 0xBA, 0xA9, 0xCF, 0x11, 0x8e, 0xe6, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
87−};
88−
89−const ff_asf_guid ff_asf_extended_content_header = {
90− 0x40, 0xA4, 0xD0, 0xD2, 0x07, 0xE3, 0xD2, 0x11, 0x97, 0xF0, 0x00, 0xA0, 0xC9, 0x5E, 0xA8, 0x50
91−};
92−
93−const ff_asf_guid ff_asf_simple_index_header = {
94− 0x90, 0x08, 0x00, 0x33, 0xB1, 0xE5, 0xCF, 0x11, 0x89, 0xF4, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xCB
95−};
96−
97−const ff_asf_guid ff_asf_ext_stream_embed_stream_header = {
98− 0xe2, 0x65, 0xfb, 0x3a, 0xEF, 0x47, 0xF2, 0x40, 0xac, 0x2c, 0x70, 0xa9, 0x0d, 0x71, 0xd3, 0x43
99−};
100−
101−const ff_asf_guid ff_asf_ext_stream_audio_stream = {
102− 0x9d, 0x8c, 0x17, 0x31, 0xE1, 0x03, 0x28, 0x45, 0xb5, 0x82, 0x3d, 0xf9, 0xdb, 0x22, 0xf5, 0x03
103−};
104−
105−const ff_asf_guid ff_asf_metadata_header = {
106− 0xea, 0xcb, 0xf8, 0xc5, 0xaf, 0x5b, 0x77, 0x48, 0x84, 0x67, 0xaa, 0x8c, 0x44, 0xfa, 0x4c, 0xca
107−};
108−
109−const ff_asf_guid ff_asf_metadata_library_header = {
110− 0x94, 0x1c, 0x23, 0x44, 0x98, 0x94, 0xd1, 0x49, 0xa1, 0x41, 0x1d, 0x13, 0x4e, 0x45, 0x70, 0x54
111−};
112−
113−const ff_asf_guid ff_asf_marker_header = {
114− 0x01, 0xCD, 0x87, 0xF4, 0x51, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
115−};
116−
117−const ff_asf_guid ff_asf_reserved_4 = {
118− 0x20, 0xdb, 0xfe, 0x4c, 0xf6, 0x75, 0xCF, 0x11, 0x9c, 0x0f, 0x00, 0xa0, 0xc9, 0x03, 0x49, 0xcb
119−};
120−
121−/* I am not a number !!! This GUID is the one found on the PC used to
122− * generate the stream */
123−const ff_asf_guid ff_asf_my_guid = {
124− 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
125−};
126−
127−const ff_asf_guid ff_asf_language_guid = {
128− 0xa9, 0x46, 0x43, 0x7c, 0xe0, 0xef, 0xfc, 0x4b, 0xb2, 0x29, 0x39, 0x3e, 0xde, 0x41, 0x5c, 0x85
129−};
130−
131−const ff_asf_guid ff_asf_content_encryption = {
132− 0xfb, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
133−};
134−
135−const ff_asf_guid ff_asf_ext_content_encryption = {
136− 0x14, 0xe6, 0x8a, 0x29, 0x22, 0x26, 0x17, 0x4c, 0xb9, 0x35, 0xda, 0xe0, 0x7e, 0xe9, 0x28, 0x9c
137−};
138−
139−const ff_asf_guid ff_asf_digital_signature = {
140− 0xfc, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
141−};
142−
143−const ff_asf_guid ff_asf_extended_stream_properties_object = {
144− 0xcb, 0xa5, 0xe6, 0x14, 0x72, 0xc6, 0x32, 0x43, 0x83, 0x99, 0xa9, 0x69, 0x52, 0x06, 0x5b, 0x5a
145−};
146−
147−const ff_asf_guid ff_asf_group_mutual_exclusion_object = {
148− 0x40, 0x5a, 0x46, 0xd1, 0x79, 0x5a, 0x38, 0x43, 0xb7, 0x1b, 0xe3, 0x6b, 0x8f, 0xd6, 0xc2, 0x49
149−};
150−
151−const ff_asf_guid ff_asf_mutex_language = {
152− 0x00, 0x2a, 0xe2, 0xd6, 0xda, 0x35, 0xd1, 0x11, 0x90, 0x34, 0x00, 0xa0, 0xc9, 0x03, 0x49, 0xbe
153−};
154−
15526 /* List of official tags at http://msdn.microsoft.com/en-us/library/dd743066(VS.85).aspx */
15627 const AVMetadataConv ff_asf_metadata_conv[] = {
15728 { "WM/AlbumArtist", "album_artist" },
libavformat/asf_tags.c+150−0
@@ -0,0 +1,150 @@
1+/*
2+ * Copyright (c) 2000, 2001 Fabrice Bellard
3+ *
4+ * This file is part of FFmpeg.
5+ *
6+ * FFmpeg is free software; you can redistribute it and/or
7+ * modify it under the terms of the GNU Lesser General Public
8+ * License as published by the Free Software Foundation; either
9+ * version 2.1 of the License, or (at your option) any later version.
10+ *
11+ * FFmpeg 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 GNU
14+ * Lesser General Public License for more details.
15+ *
16+ * You should have received a copy of the GNU Lesser General Public
17+ * License along with FFmpeg; if not, write to the Free Software
18+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19+ */
20+
21+#include "asf.h"
22+
23+const ff_asf_guid ff_asf_header = {
24+ 0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C
25+};
26+
27+const ff_asf_guid ff_asf_file_header = {
28+ 0xA1, 0xDC, 0xAB, 0x8C, 0x47, 0xA9, 0xCF, 0x11, 0x8E, 0xE4, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
29+};
30+
31+const ff_asf_guid ff_asf_stream_header = {
32+ 0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
33+};
34+
35+const ff_asf_guid ff_asf_ext_stream_header = {
36+ 0xCB, 0xA5, 0xE6, 0x14, 0x72, 0xC6, 0x32, 0x43, 0x83, 0x99, 0xA9, 0x69, 0x52, 0x06, 0x5B, 0x5A
37+};
38+
39+const ff_asf_guid ff_asf_audio_stream = {
40+ 0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
41+};
42+
43+const ff_asf_guid ff_asf_audio_conceal_spread = {
44+ 0x50, 0xCD, 0xC3, 0xBF, 0x8F, 0x61, 0xCF, 0x11, 0x8B, 0xB2, 0x00, 0xAA, 0x00, 0xB4, 0xE2, 0x20
45+};
46+
47+const ff_asf_guid ff_asf_video_stream = {
48+ 0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
49+};
50+
51+const ff_asf_guid ff_asf_jfif_media = {
52+ 0x00, 0xE1, 0x1B, 0xB6, 0x4E, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
53+};
54+
55+const ff_asf_guid ff_asf_video_conceal_none = {
56+ 0x00, 0x57, 0xFB, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
57+};
58+
59+const ff_asf_guid ff_asf_command_stream = {
60+ 0xC0, 0xCF, 0xDA, 0x59, 0xE6, 0x59, 0xD0, 0x11, 0xA3, 0xAC, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
61+};
62+
63+const ff_asf_guid ff_asf_comment_header = {
64+ 0x33, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
65+};
66+
67+const ff_asf_guid ff_asf_codec_comment_header = {
68+ 0x40, 0x52, 0xD1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xA3, 0xA4, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
69+};
70+const ff_asf_guid ff_asf_codec_comment1_header = {
71+ 0x41, 0x52, 0xd1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xa3, 0xa4, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
72+};
73+
74+const ff_asf_guid ff_asf_data_header = {
75+ 0x36, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
76+};
77+
78+const ff_asf_guid ff_asf_head1_guid = {
79+ 0xb5, 0x03, 0xbf, 0x5f, 0x2E, 0xA9, 0xCF, 0x11, 0x8e, 0xe3, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
80+};
81+
82+const ff_asf_guid ff_asf_head2_guid = {
83+ 0x11, 0xd2, 0xd3, 0xab, 0xBA, 0xA9, 0xCF, 0x11, 0x8e, 0xe6, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
84+};
85+
86+const ff_asf_guid ff_asf_extended_content_header = {
87+ 0x40, 0xA4, 0xD0, 0xD2, 0x07, 0xE3, 0xD2, 0x11, 0x97, 0xF0, 0x00, 0xA0, 0xC9, 0x5E, 0xA8, 0x50
88+};
89+
90+const ff_asf_guid ff_asf_simple_index_header = {
91+ 0x90, 0x08, 0x00, 0x33, 0xB1, 0xE5, 0xCF, 0x11, 0x89, 0xF4, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xCB
92+};
93+
94+const ff_asf_guid ff_asf_ext_stream_embed_stream_header = {
95+ 0xe2, 0x65, 0xfb, 0x3a, 0xEF, 0x47, 0xF2, 0x40, 0xac, 0x2c, 0x70, 0xa9, 0x0d, 0x71, 0xd3, 0x43
96+};
97+
98+const ff_asf_guid ff_asf_ext_stream_audio_stream = {
99+ 0x9d, 0x8c, 0x17, 0x31, 0xE1, 0x03, 0x28, 0x45, 0xb5, 0x82, 0x3d, 0xf9, 0xdb, 0x22, 0xf5, 0x03
100+};
101+
102+const ff_asf_guid ff_asf_metadata_header = {
103+ 0xea, 0xcb, 0xf8, 0xc5, 0xaf, 0x5b, 0x77, 0x48, 0x84, 0x67, 0xaa, 0x8c, 0x44, 0xfa, 0x4c, 0xca
104+};
105+
106+const ff_asf_guid ff_asf_metadata_library_header = {
107+ 0x94, 0x1c, 0x23, 0x44, 0x98, 0x94, 0xd1, 0x49, 0xa1, 0x41, 0x1d, 0x13, 0x4e, 0x45, 0x70, 0x54
108+};
109+
110+const ff_asf_guid ff_asf_marker_header = {
111+ 0x01, 0xCD, 0x87, 0xF4, 0x51, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
112+};
113+
114+const ff_asf_guid ff_asf_reserved_4 = {
115+ 0x20, 0xdb, 0xfe, 0x4c, 0xf6, 0x75, 0xCF, 0x11, 0x9c, 0x0f, 0x00, 0xa0, 0xc9, 0x03, 0x49, 0xcb
116+};
117+
118+/* I am not a number !!! This GUID is the one found on the PC used to
119+ * generate the stream */
120+const ff_asf_guid ff_asf_my_guid = {
121+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
122+};
123+
124+const ff_asf_guid ff_asf_language_guid = {
125+ 0xa9, 0x46, 0x43, 0x7c, 0xe0, 0xef, 0xfc, 0x4b, 0xb2, 0x29, 0x39, 0x3e, 0xde, 0x41, 0x5c, 0x85
126+};
127+
128+const ff_asf_guid ff_asf_content_encryption = {
129+ 0xfb, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
130+};
131+
132+const ff_asf_guid ff_asf_ext_content_encryption = {
133+ 0x14, 0xe6, 0x8a, 0x29, 0x22, 0x26, 0x17, 0x4c, 0xb9, 0x35, 0xda, 0xe0, 0x7e, 0xe9, 0x28, 0x9c
134+};
135+
136+const ff_asf_guid ff_asf_digital_signature = {
137+ 0xfc, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
138+};
139+
140+const ff_asf_guid ff_asf_extended_stream_properties_object = {
141+ 0xcb, 0xa5, 0xe6, 0x14, 0x72, 0xc6, 0x32, 0x43, 0x83, 0x99, 0xa9, 0x69, 0x52, 0x06, 0x5b, 0x5a
142+};
143+
144+const ff_asf_guid ff_asf_group_mutual_exclusion_object = {
145+ 0x40, 0x5a, 0x46, 0xd1, 0x79, 0x5a, 0x38, 0x43, 0xb7, 0x1b, 0xe3, 0x6b, 0x8f, 0xd6, 0xc2, 0x49
146+};
147+
148+const ff_asf_guid ff_asf_mutex_language = {
149+ 0x00, 0x2a, 0xe2, 0xd6, 0xda, 0x35, 0xd1, 0x11, 0x90, 0x34, 0x00, 0xa0, 0xc9, 0x03, 0x49, 0xbe
150+};
libavformat/mmsh.c+0−1
@@ -31,7 +31,6 @@ · 30 unmodified lines
3131 #include "libavutil/opt.h"
3232 #include "internal.h"
3333 #include "mms.h"
34−#include "asf.h"
3534 #include "http.h"
3635 #include "url.h"
3736

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t