annotate asf.c @ 6274:1c656ac8c9c9 libavformat

Allow all valid (and only valid) characters in URL scheme for url_open() The URL specification allows letters, numbers, plus, hyphen, and period in the scheme part. The isalpha() test would allow additional characters depending on locale settings while rejecting numbers and punctuation.
author mru
date Sun, 18 Jul 2010 18:38:23 +0000
parents 8866437e389a
children e4d729e25e97
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
1 /*
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
2 * Copyright (c) 2000, 2001 Fabrice Bellard
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
3 *
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
4 * This file is part of FFmpeg.
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
5 *
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
10 *
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
14 * Lesser General Public License for more details.
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
15 *
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
19 */
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
20
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
21 #include "asf.h"
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
22
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
23
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
24 const ff_asf_guid ff_asf_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
25 0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9, 0x00, 0xAA, 0x00, 0x62, 0xCE, 0x6C
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
26 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
27
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
28 const ff_asf_guid ff_asf_file_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
29 0xA1, 0xDC, 0xAB, 0x8C, 0x47, 0xA9, 0xCF, 0x11, 0x8E, 0xE4, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
30 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
31
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
32 const ff_asf_guid ff_asf_stream_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
33 0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
34 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
35
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
36 const ff_asf_guid ff_asf_ext_stream_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
37 0xCB, 0xA5, 0xE6, 0x14, 0x72, 0xC6, 0x32, 0x43, 0x83, 0x99, 0xA9, 0x69, 0x52, 0x06, 0x5B, 0x5A
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
38 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
39
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
40 const ff_asf_guid ff_asf_audio_stream = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
41 0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
42 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
43
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
44 const ff_asf_guid ff_asf_audio_conceal_none = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
45 // 0x40, 0xa4, 0xf1, 0x49, 0x4ece, 0x11d0, 0xa3, 0xac, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
46 // New value lifted from avifile
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
47 0x00, 0x57, 0xfb, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xa8, 0xfd, 0x00, 0x80, 0x5f, 0x5c, 0x44, 0x2b
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
48 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
49
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
50 const ff_asf_guid ff_asf_audio_conceal_spread = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
51 0x50, 0xCD, 0xC3, 0xBF, 0x8F, 0x61, 0xCF, 0x11, 0x8B, 0xB2, 0x00, 0xAA, 0x00, 0xB4, 0xE2, 0x20
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
52 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
53
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
54 const ff_asf_guid ff_asf_video_stream = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
55 0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
56 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
57
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
58 const ff_asf_guid ff_asf_video_conceal_none = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
59 0x00, 0x57, 0xFB, 0x20, 0x55, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
60 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
61
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
62 const ff_asf_guid ff_asf_command_stream = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
63 0xC0, 0xCF, 0xDA, 0x59, 0xE6, 0x59, 0xD0, 0x11, 0xA3, 0xAC, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
64 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
65
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
66 const ff_asf_guid ff_asf_comment_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
67 0x33, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
68 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
69
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
70 const ff_asf_guid ff_asf_codec_comment_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
71 0x40, 0x52, 0xD1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xA3, 0xA4, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xF6
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
72 };
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
73 const ff_asf_guid ff_asf_codec_comment1_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
74 0x41, 0x52, 0xd1, 0x86, 0x1D, 0x31, 0xD0, 0x11, 0xa3, 0xa4, 0x00, 0xa0, 0xc9, 0x03, 0x48, 0xf6
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
75 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
76
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
77 const ff_asf_guid ff_asf_data_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
78 0x36, 0x26, 0xb2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce, 0x6c
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
79 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
80
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
81 const ff_asf_guid ff_asf_head1_guid = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
82 0xb5, 0x03, 0xbf, 0x5f, 0x2E, 0xA9, 0xCF, 0x11, 0x8e, 0xe3, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
83 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
84
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
85 const ff_asf_guid ff_asf_head2_guid = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
86 0x11, 0xd2, 0xd3, 0xab, 0xBA, 0xA9, 0xCF, 0x11, 0x8e, 0xe6, 0x00, 0xc0, 0x0c, 0x20, 0x53, 0x65
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
87 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
88
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
89 const ff_asf_guid ff_asf_extended_content_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
90 0x40, 0xA4, 0xD0, 0xD2, 0x07, 0xE3, 0xD2, 0x11, 0x97, 0xF0, 0x00, 0xA0, 0xC9, 0x5E, 0xA8, 0x50
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
91 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
92
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
93 const ff_asf_guid ff_asf_simple_index_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
94 0x90, 0x08, 0x00, 0x33, 0xB1, 0xE5, 0xCF, 0x11, 0x89, 0xF4, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xCB
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
95 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
96
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
97 const ff_asf_guid ff_asf_ext_stream_embed_stream_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
98 0xe2, 0x65, 0xfb, 0x3a, 0xEF, 0x47, 0xF2, 0x40, 0xac, 0x2c, 0x70, 0xa9, 0x0d, 0x71, 0xd3, 0x43
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
99 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
100
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
101 const ff_asf_guid ff_asf_ext_stream_audio_stream = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
102 0x9d, 0x8c, 0x17, 0x31, 0xE1, 0x03, 0x28, 0x45, 0xb5, 0x82, 0x3d, 0xf9, 0xdb, 0x22, 0xf5, 0x03
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
103 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
104
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
105 const ff_asf_guid ff_asf_metadata_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
106 0xea, 0xcb, 0xf8, 0xc5, 0xaf, 0x5b, 0x77, 0x48, 0x84, 0x67, 0xaa, 0x8c, 0x44, 0xfa, 0x4c, 0xca
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
107 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
108
5778
e3ec6991698b Use ASF supports "markers" which are a name and a time stamp to create
benoit
parents: 5717
diff changeset
109 const ff_asf_guid ff_asf_marker_header = {
e3ec6991698b Use ASF supports "markers" which are a name and a time stamp to create
benoit
parents: 5717
diff changeset
110 0x01, 0xCD, 0x87, 0xF4, 0x51, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65
e3ec6991698b Use ASF supports "markers" which are a name and a time stamp to create
benoit
parents: 5717
diff changeset
111 };
e3ec6991698b Use ASF supports "markers" which are a name and a time stamp to create
benoit
parents: 5717
diff changeset
112
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
113 /* I am not a number !!! This GUID is the one found on the PC used to
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
114 generate the stream */
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
115 const ff_asf_guid ff_asf_my_guid = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
116 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
117 };
4618
5b9eddbee9c4 Add some basic metadata conversion tables for matroska and asf.
aurel
parents: 4593
diff changeset
118
4924
c090f960fc8a Per-stream language-tags extraction in asfdec.
benoit
parents: 4748
diff changeset
119 const ff_asf_guid ff_asf_language_guid = {
c090f960fc8a Per-stream language-tags extraction in asfdec.
benoit
parents: 4748
diff changeset
120 0xa9, 0x46, 0x43, 0x7c, 0xe0, 0xef, 0xfc, 0x4b, 0xb2, 0x29, 0x39, 0x3e, 0xde, 0x41, 0x5c, 0x85
c090f960fc8a Per-stream language-tags extraction in asfdec.
benoit
parents: 4748
diff changeset
121 };
4618
5b9eddbee9c4 Add some basic metadata conversion tables for matroska and asf.
aurel
parents: 4593
diff changeset
122
5273
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
123 const ff_asf_guid ff_asf_content_encryption = {
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
124 0xfb, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
125 };
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
126
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
127 const ff_asf_guid ff_asf_ext_content_encryption = {
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
128 0x14, 0xe6, 0x8a, 0x29, 0x22, 0x26, 0x17, 0x4c, 0xb9, 0x35, 0xda, 0xe0, 0x7e, 0xe9, 0x28, 0x9c
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
129 };
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
130
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
131 const ff_asf_guid ff_asf_digital_signature = {
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
132 0xfc, 0xb3, 0x11, 0x22, 0x23, 0xbd, 0xd2, 0x11, 0xb4, 0xb7, 0x00, 0xa0, 0xc9, 0x55, 0xfc, 0x6e
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
133 };
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
134
5716
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
135 /* List of official tags at http://msdn.microsoft.com/en-us/library/dd743066(VS.85).aspx */
4618
5b9eddbee9c4 Add some basic metadata conversion tables for matroska and asf.
aurel
parents: 4593
diff changeset
136 const AVMetadataConv ff_asf_metadata_conv[] = {
5717
da72d7a76598 asf: indent.
benoit
parents: 5716
diff changeset
137 { "WM/AlbumArtist" , "album_artist"},
5911
8866437e389a Remove superfluous space from a conversion table.
cehoyos
parents: 5876
diff changeset
138 { "WM/AlbumTitle" , "album" },
5717
da72d7a76598 asf: indent.
benoit
parents: 5716
diff changeset
139 { "Author" , "artist" },
5716
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
140 { "Description" , "comment" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
141 { "WM/Composer" , "composer" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
142 { "WM/EncodedBy" , "encoded_by" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
143 { "WM/EncodingSettings", "encoder" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
144 { "WM/Genre" , "genre" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
145 { "WM/Language" , "language" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
146 { "WM/OriginalFilename", "filename" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
147 { "WM/PartOfSet" , "disc" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
148 { "WM/Publisher" , "publisher" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
149 { "WM/Tool" , "encoder" },
5717
da72d7a76598 asf: indent.
benoit
parents: 5716
diff changeset
150 { "WM/TrackNumber" , "track" },
5716
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
151 { "WM/Track" , "track" },
5717
da72d7a76598 asf: indent.
benoit
parents: 5716
diff changeset
152 // { "Year" , "date" }, TODO: conversion year<->date
4618
5b9eddbee9c4 Add some basic metadata conversion tables for matroska and asf.
aurel
parents: 4593
diff changeset
153 { 0 }
5b9eddbee9c4 Add some basic metadata conversion tables for matroska and asf.
aurel
parents: 4593
diff changeset
154 };
5876
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
155
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
156 int ff_put_str16_nolen(ByteIOContext *s, const char *tag)
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
157 {
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
158 const uint8_t *q = tag;
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
159 int ret = 0;
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
160
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
161 while (*q) {
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
162 uint32_t ch;
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
163 uint16_t tmp;
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
164
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
165 GET_UTF8(ch, *q++, break;)
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
166 PUT_UTF16(ch, tmp, put_le16(s, tmp);ret += 2;)
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
167 }
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
168 put_le16(s, 0);
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
169 ret += 2;
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
170 return ret;
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
171 }