Contents of /trunk/strigi/patches/strigi-0.7.5-ffmpeg.patch
Parent Directory | Revision Log
Revision 1490 -
(show annotations)
(download)
Sat Aug 6 17:15:49 2011 UTC (13 years, 1 month ago) by niro
File size: 6965 byte(s)
Sat Aug 6 17:15:49 2011 UTC (13 years, 1 month ago) by niro
File size: 6965 byte(s)
fixed patch
1 | diff -Naur strigi-0.7.5/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp strigi-0.7.5-magellan/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp |
2 | --- strigi-0.7.5/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp 2011-06-02 11:29:26.000000000 +0200 |
3 | +++ strigi-0.7.5-magellan/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp 2011-08-06 20:49:37.000000000 +0200 |
4 | @@ -348,7 +348,7 @@ |
5 | if ((size = in->size()) >= 0) |
6 | ar.addValue(factory->durationProperty, (uint32_t)(size/(fc->bit_rate/8))); |
7 | } |
8 | - if(fc->nb_streams==1 && fc->streams[0]->codec->codec_type == CODEC_TYPE_AUDIO) { |
9 | + if(fc->nb_streams==1 && fc->streams[0]->codec->codec_type == AVMEDIA_TYPE_AUDIO) { |
10 | ar.addValue(factory->typeProperty, NFO "Audio"); |
11 | ar.addValue(factory->typeProperty, NMM_DRAFT "MusicPiece"); |
12 | } else { |
13 | @@ -359,7 +359,7 @@ |
14 | const AVStream &stream = *fc->streams[i]; |
15 | const AVCodecContext &codec = *stream.codec; |
16 | |
17 | - if (codec.codec_type == CODEC_TYPE_AUDIO || codec.codec_type == CODEC_TYPE_VIDEO) { |
18 | + if (codec.codec_type == AVMEDIA_TYPE_AUDIO || codec.codec_type == AVMEDIA_TYPE_VIDEO) { |
19 | const string streamuri = ar.newAnonymousUri(); |
20 | ar.addValue(factory->hasPartProperty, streamuri); |
21 | ar.addTriplet(streamuri, partOfPropertyName, ar.path()); |
22 | @@ -370,8 +370,16 @@ |
23 | outs << (stream.duration * stream.time_base.num / stream.time_base.den); |
24 | ar.addTriplet(streamuri, durationPropertyName,outs.str()); |
25 | } |
26 | - if (size_t len = strlen(stream.language)) { |
27 | - ar.addTriplet(streamuri, languagePropertyName, string(stream.language, len)); |
28 | +#if FF_API_OLD_METADATA2 |
29 | + AVMetadataTag *entry = av_metadata_get(stream.metadata, "language", NULL, 0); |
30 | +#else |
31 | + AVDictionaryEntry *entry = av_dict_get(stream.metadata, "language", NULL, 0); |
32 | +#endif |
33 | + if (entry != NULL) { |
34 | + const char *languageValue = entry->value; |
35 | + if (size_t len = strlen(languageValue)) { |
36 | + ar.addTriplet(streamuri, languagePropertyName, string(languageValue, len)); |
37 | + } |
38 | } |
39 | const AVCodec *p = avcodec_find_decoder(codec.codec_id); |
40 | if (p) { |
41 | @@ -408,7 +416,7 @@ |
42 | ar.addTriplet(streamuri, bitratePropertyName, outs.str()); |
43 | } |
44 | |
45 | - if (codec.codec_type == CODEC_TYPE_AUDIO) { |
46 | + if (codec.codec_type == AVMEDIA_TYPE_AUDIO) { |
47 | |
48 | ar.addTriplet(streamuri, typePropertyName, audioClassName); |
49 | if (codec.channels) { |
50 | @@ -458,36 +466,107 @@ |
51 | } |
52 | |
53 | // Tags |
54 | - |
55 | - if (int32_t len = strlen(fc->title)) { |
56 | - ar.addValue(factory->titleProperty, string(fc->title, len) ); |
57 | - } |
58 | - if (int32_t len = strlen(fc->author)) { |
59 | - const string creatoruri = ar.newAnonymousUri(); |
60 | - ar.addValue(factory->creatorProperty, creatoruri); |
61 | - ar.addTriplet(creatoruri, typePropertyName, contactClassName); |
62 | - ar.addTriplet(creatoruri, fullnamePropertyName, string(fc->author, len) ); |
63 | - } |
64 | - if (int32_t len = strlen(fc->copyright)) { |
65 | - ar.addValue(factory->copyrightProperty, string(fc->copyright, len) ); |
66 | - } |
67 | - if (int32_t len = strlen(fc->comment)) { |
68 | - ar.addValue(factory->commentProperty, string(fc->comment, len) ); |
69 | - } |
70 | - if (int32_t len = strlen(fc->album)) { |
71 | - const string album = ar.newAnonymousUri(); |
72 | - ar.addValue(factory->albumProperty, album); |
73 | +#if FF_API_OLD_METADATA2 |
74 | + AVMetadataTag *entry = av_metadata_get(fc->metadata, "title", NULL, 0); |
75 | +#else |
76 | + AVDictionaryEntry *entry = av_dict_get(fc->metadata, "title", NULL, 0); |
77 | +#endif |
78 | + if (entry != NULL) |
79 | + { |
80 | + const char *titleValue = entry->value; |
81 | + if (int32_t len = strlen(titleValue)) { |
82 | + ar.addValue(factory->titleProperty, string(titleValue, len) ); |
83 | + } |
84 | + } |
85 | +#if FF_API_OLD_METADATA2 |
86 | + entry = av_metadata_get(fc->metadata, "author", NULL, 0); |
87 | +#else |
88 | + entry = av_dict_get(fc->metadata, "author", NULL, 0); |
89 | +#endif |
90 | + if (entry != NULL) |
91 | + { |
92 | + const char *authorValue = entry->value; |
93 | + if (int32_t len = strlen(authorValue)) { |
94 | + const string creatoruri = ar.newAnonymousUri(); |
95 | + ar.addValue(factory->creatorProperty, creatoruri); |
96 | + ar.addTriplet(creatoruri, typePropertyName, contactClassName); |
97 | + ar.addTriplet(creatoruri, fullnamePropertyName, string(authorValue, len) ); |
98 | + } |
99 | + } |
100 | +#if FF_API_OLD_METADATA2 |
101 | + entry = av_metadata_get(fc->metadata, "copyright", NULL, 0); |
102 | +#else |
103 | + entry = av_dict_get(fc->metadata, "copyright", NULL, 0); |
104 | +#endif |
105 | + if (entry != NULL) |
106 | + { |
107 | + const char *copyrightValue = entry->value; |
108 | + if (int32_t len = strlen(copyrightValue)) { |
109 | + ar.addValue(factory->copyrightProperty, string(copyrightValue, len) ); |
110 | + } |
111 | + } |
112 | +#if FF_API_OLD_METADATA2 |
113 | + entry = av_metadata_get(fc->metadata, "comment", NULL, 0); |
114 | +#else |
115 | + entry = av_dict_get(fc->metadata, "comment", NULL, 0); |
116 | +#endif |
117 | + if (entry != NULL) |
118 | + { |
119 | + const char *commentValue = entry->value; |
120 | + if (int32_t len = strlen(commentValue)) { |
121 | + ar.addValue(factory->commentProperty, string(commentValue, len) ); |
122 | + } |
123 | + } |
124 | +#if FF_API_OLD_METADATA2 |
125 | + entry = av_metadata_get(fc->metadata, "album", NULL, 0); |
126 | +#else |
127 | + entry = av_dict_get(fc->metadata, "album", NULL, 0); |
128 | +#endif |
129 | + if (entry != NULL) |
130 | + { |
131 | + const char *albumValue = entry->value; |
132 | + if (int32_t len = strlen(albumValue)) { |
133 | + const string album = ar.newAnonymousUri(); |
134 | + ar.addValue(factory->albumProperty, album); |
135 | ar.addTriplet(album, typePropertyName, albumClassName); |
136 | - ar.addTriplet(album, titlePropertyName, string(fc->album, len) ); |
137 | + ar.addTriplet(album, titlePropertyName, string(albumValue, len) ); |
138 | + } |
139 | } |
140 | - if (int32_t len = strlen(fc->genre)) { |
141 | - ar.addValue(factory->genreProperty, string(fc->genre, len) ); |
142 | +#if FF_API_OLD_METADATA2 |
143 | + entry = av_metadata_get(fc->metadata, "genre", NULL, 0); |
144 | +#else |
145 | + entry = av_dict_get(fc->metadata, "genre", NULL, 0); |
146 | +#endif |
147 | + if (entry != NULL) |
148 | + { |
149 | + const char *genreValue = entry->value; |
150 | + if (int32_t len = strlen(genreValue)) { |
151 | + ar.addValue(factory->genreProperty, string(genreValue, len) ); |
152 | + } |
153 | } |
154 | - if (fc->track) { |
155 | - ar.addValue(factory->trackProperty, fc->track); |
156 | +#if FF_API_OLD_METADATA2 |
157 | + entry = av_metadata_get(fc->metadata, "track", NULL, 0); |
158 | +#else |
159 | + entry = av_dict_get(fc->metadata, "track", NULL, 0); |
160 | +#endif |
161 | + if (entry != NULL) |
162 | + { |
163 | + const char *trackValue = entry->value; |
164 | + if (int32_t len = strlen(trackValue)) { |
165 | + ar.addValue(factory->trackProperty, string(trackValue, len) ); |
166 | + } |
167 | } |
168 | - if (fc->year) { |
169 | - ar.addValue(factory->createdProperty, fc->year); |
170 | +#if FF_API_OLD_METADATA2 |
171 | + entry = av_metadata_get(fc->metadata, "year", NULL, 0); |
172 | +#else |
173 | + entry = av_dict_get(fc->metadata, "year", NULL, 0); |
174 | +#endif |
175 | + if (entry != NULL) |
176 | + { |
177 | + const char *yearValue = entry->value; |
178 | + if (int32_t len = strlen(yearValue)) { |
179 | + ar.addValue(factory->createdProperty, string(yearValue, len) ); |
180 | + } |
181 | } |
182 | |
183 | av_close_input_stream(fc); |