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

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
117OBJS-$(CONFIG_ARGO_CVG_DEMUXER) += argo_cvg.o117OBJS-$(CONFIG_ARGO_CVG_DEMUXER) += argo_cvg.o
118OBJS-$(CONFIG_ARGO_CVG_MUXER) += argo_cvg.o118OBJS-$(CONFIG_ARGO_CVG_MUXER) += argo_cvg.o
119OBJS-$(CONFIG_ASF_DEMUXER) += asfdec_f.o asf.o asfcrypt.o \119OBJS-$(CONFIG_ASF_DEMUXER) += asfdec_f.o asf.o asfcrypt.o \
120 avlanguage.o120 asf_tags.o avlanguage.o
121OBJS-$(CONFIG_ASF_O_DEMUXER) += asfdec_o.o asf.o asfcrypt.o \121OBJS-$(CONFIG_ASF_O_DEMUXER) += asfdec_o.o asf.o asfcrypt.o \
122 avlanguage.o122 asf_tags.o avlanguage.o
123OBJS-$(CONFIG_ASF_MUXER) += asfenc.o asf.o avlanguage.o123OBJS-$(CONFIG_ASF_MUXER) += asfenc.o asf.o avlanguage.o
124OBJS-$(CONFIG_ASS_DEMUXER) += assdec.o subtitles.o124OBJS-$(CONFIG_ASS_DEMUXER) += assdec.o subtitles.o
125OBJS-$(CONFIG_ASS_MUXER) += assenc.o125OBJS-$(CONFIG_ASS_MUXER) += assenc.o
@@ -649,8 +649,8 @@ OBJS-$(CONFIG_HTTPPROXY_PROTOCOL) += http.o httpauth.o urldecode.o · 523 unmodified lines
649OBJS-$(CONFIG_HTTPS_PROTOCOL) += http.o httpauth.o urldecode.o649OBJS-$(CONFIG_HTTPS_PROTOCOL) += http.o httpauth.o urldecode.o
650OBJS-$(CONFIG_ICECAST_PROTOCOL) += icecast.o650OBJS-$(CONFIG_ICECAST_PROTOCOL) += icecast.o
651OBJS-$(CONFIG_MD5_PROTOCOL) += md5proto.o651OBJS-$(CONFIG_MD5_PROTOCOL) += md5proto.o
652OBJS-$(CONFIG_MMSH_PROTOCOL) += mmsh.o mms.o asf.o652OBJS-$(CONFIG_MMSH_PROTOCOL) += mmsh.o mms.o asf_tags.o
653OBJS-$(CONFIG_MMST_PROTOCOL) += mmst.o mms.o asf.o653OBJS-$(CONFIG_MMST_PROTOCOL) += mmst.o mms.o asf_tags.o
654OBJS-$(CONFIG_PIPE_PROTOCOL) += file.o654OBJS-$(CONFIG_PIPE_PROTOCOL) += file.o
655OBJS-$(CONFIG_PROMPEG_PROTOCOL) += prompeg.o655OBJS-$(CONFIG_PROMPEG_PROTOCOL) += prompeg.o
656OBJS-$(CONFIG_RTMP_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o656OBJS-$(CONFIG_RTMP_PROTOCOL) += rtmpproto.o rtmpdigest.o rtmppkt.o
libavformat/asf.c+0−129
@@ -23,135 +23,6 @@ · 22 unmodified lines
23#include "id3v2.h"23#include "id3v2.h"
24#include "internal.h"24#include "internal.h"
25 25
26const 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
30const 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
34const 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
38const 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
42const 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
46const 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
50const 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
54const 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
58const 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
62const 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
66const 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
70const 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};
73const 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
77const 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
81const 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
85const 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
89const 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
93const 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
97const 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
101const 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
105const 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
109const 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
113const 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
117const 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 */
123const ff_asf_guid ff_asf_my_guid = {
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
125};
126
127const 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
131const 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
135const 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
139const 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
143const 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
147const 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
151const 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
155/* List of official tags at http://msdn.microsoft.com/en-us/library/dd743066(VS.85).aspx */26/* List of official tags at http://msdn.microsoft.com/en-us/library/dd743066(VS.85).aspx */
156const AVMetadataConv ff_asf_metadata_conv[] = {27const AVMetadataConv ff_asf_metadata_conv[] = {
157 { "WM/AlbumArtist", "album_artist" },28 { "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
23const 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
27const 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
31const 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
35const 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
39const 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
43const 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
47const 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
51const 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
55const 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
59const 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
63const 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
67const 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};
70const 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
74const 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
78const 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
82const 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
86const 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
90const 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
94const 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
98const 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
102const 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
106const 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
110const 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
114const 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 */
120const ff_asf_guid ff_asf_my_guid = {
121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
122};
123
124const 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
128const 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
132const 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
136const 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
140const 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
144const 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
148const 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
31#include "libavutil/opt.h"31#include "libavutil/opt.h"
32#include "internal.h"32#include "internal.h"
33#include "mms.h"33#include "mms.h"
34#include "asf.h"
35#include "http.h"34#include "http.h"
36#include "url.h"35#include "url.h"
37 36

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