annotate asf.c @ 6491:b7f807b4cd88 libavformat tip

In mov demuxer, check that nb_streams is valid before using it in read_dac3
author bcoudurier
date Tue, 28 Sep 2010 00:33:21 +0000
parents e4d729e25e97
children
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
6284
e4d729e25e97 asf: Add asf_jfif_media guid
mstorsjo
parents: 5911
diff changeset
58 const ff_asf_guid ff_asf_jfif_media = {
e4d729e25e97 asf: Add asf_jfif_media guid
mstorsjo
parents: 5911
diff changeset
59 0x00, 0xE1, 0x1B, 0xB6, 0x4E, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B
e4d729e25e97 asf: Add asf_jfif_media guid
mstorsjo
parents: 5911
diff changeset
60 };
e4d729e25e97 asf: Add asf_jfif_media guid
mstorsjo
parents: 5911
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_video_conceal_none = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
63 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
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_command_stream = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
67 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
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_comment_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
71 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
72 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
73
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
74 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
75 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
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_codec_comment1_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
78 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
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_data_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
82 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
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_head1_guid = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
86 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
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_head2_guid = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
90 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
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_extended_content_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
94 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
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_simple_index_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
98 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
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_embed_stream_header = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
102 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
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_ext_stream_audio_stream = {
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
106 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
107 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
108
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
109 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
110 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
111 };
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
112
5778
e3ec6991698b Use ASF supports "markers" which are a name and a time stamp to create
benoit
parents: 5717
diff changeset
113 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
114 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
115 };
e3ec6991698b Use ASF supports "markers" which are a name and a time stamp to create
benoit
parents: 5717
diff changeset
116
4593
0d8b36d98ce2 move static tables from asf.h to non-static tables in asf.c
aurel
parents:
diff changeset
117 /* 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
118 generate the stream */
4748
86dd0cab30d3 Rename GUID typedef to ff_asf_guid to fix MinGW compilation failure
reimar
parents: 4618
diff changeset
119 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
120 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
121 };
4618
5b9eddbee9c4 Add some basic metadata conversion tables for matroska and asf.
aurel
parents: 4593
diff changeset
122
4924
c090f960fc8a Per-stream language-tags extraction in asfdec.
benoit
parents: 4748
diff changeset
123 const ff_asf_guid ff_asf_language_guid = {
c090f960fc8a Per-stream language-tags extraction in asfdec.
benoit
parents: 4748
diff changeset
124 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
125 };
4618
5b9eddbee9c4 Add some basic metadata conversion tables for matroska and asf.
aurel
parents: 4593
diff changeset
126
5273
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_content_encryption = {
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
128 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
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_ext_content_encryption = {
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
132 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
133 };
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
134
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
135 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
136 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
137 };
f292b3e34823 Detect Windows Media DRM protected files and display warning if no key
cehoyos
parents: 4924
diff changeset
138
5716
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
139 /* 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
140 const AVMetadataConv ff_asf_metadata_conv[] = {
5717
da72d7a76598 asf: indent.
benoit
parents: 5716
diff changeset
141 { "WM/AlbumArtist" , "album_artist"},
5911
8866437e389a Remove superfluous space from a conversion table.
cehoyos
parents: 5876
diff changeset
142 { "WM/AlbumTitle" , "album" },
5717
da72d7a76598 asf: indent.
benoit
parents: 5716
diff changeset
143 { "Author" , "artist" },
5716
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
144 { "Description" , "comment" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
145 { "WM/Composer" , "composer" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
146 { "WM/EncodedBy" , "encoded_by" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
147 { "WM/EncodingSettings", "encoder" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
148 { "WM/Genre" , "genre" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
149 { "WM/Language" , "language" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
150 { "WM/OriginalFilename", "filename" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
151 { "WM/PartOfSet" , "disc" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
152 { "WM/Publisher" , "publisher" },
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
153 { "WM/Tool" , "encoder" },
5717
da72d7a76598 asf: indent.
benoit
parents: 5716
diff changeset
154 { "WM/TrackNumber" , "track" },
5716
0dcb8b662232 asf: add more entries to metadata conv table.
benoit
parents: 5714
diff changeset
155 { "WM/Track" , "track" },
5717
da72d7a76598 asf: indent.
benoit
parents: 5716
diff changeset
156 // { "Year" , "date" }, TODO: conversion year<->date
4618
5b9eddbee9c4 Add some basic metadata conversion tables for matroska and asf.
aurel
parents: 4593
diff changeset
157 { 0 }
5b9eddbee9c4 Add some basic metadata conversion tables for matroska and asf.
aurel
parents: 4593
diff changeset
158 };
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
159
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 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
161 {
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 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
163 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
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 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
166 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
167 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
168
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 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
170 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
171 }
2c0f0162a110 Move put_le16_nolen() to asf.c and give it a ff_ prefix. This way, it is easier
rbultje
parents: 5778
diff changeset
172 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
173 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
174 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
175 }