summaryrefslogtreecommitdiffstats
path: root/strigi/strigi-0.7.7-ffmpeg-0.11.patch
diff options
context:
space:
mode:
Diffstat (limited to 'strigi/strigi-0.7.7-ffmpeg-0.11.patch')
-rw-r--r--strigi/strigi-0.7.7-ffmpeg-0.11.patch152
1 files changed, 152 insertions, 0 deletions
diff --git a/strigi/strigi-0.7.7-ffmpeg-0.11.patch b/strigi/strigi-0.7.7-ffmpeg-0.11.patch
new file mode 100644
index 000000000..128292566
--- /dev/null
+++ b/strigi/strigi-0.7.7-ffmpeg-0.11.patch
@@ -0,0 +1,152 @@
+--- strigi-0.7.7/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp.bero 2012-06-08 16:49:40.846877030 +0200
++++ strigi-0.7.7/libstreamanalyzer/plugins/endplugins/ffmpegendanalyzer.cpp 2012-06-08 17:27:40.416888115 +0200
+@@ -305,13 +305,6 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ uint8_t pDataBuffer[32768];//65536];
+ long lSize = 32768;
+
+- ByteIOContext ByteIOCtx;
+- if(init_put_byte(&ByteIOCtx, pDataBuffer, lSize, 0, in, read_data, NULL, seek_data) < 0)
+- return -1;
+-
+- //pAVInputFormat->flags |= AVFMT_NOFILE;
+- ByteIOCtx.is_streamed = 0;
+-
+ AVProbeData pd;
+ const char *buf;
+ pd.filename ="";
+@@ -324,14 +317,27 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ if(fmt == NULL)
+ return 1;
+
+- AVFormatContext *fc = NULL;
+- if(av_open_input_stream(&fc, &ByteIOCtx, "", fmt, NULL) < 0)
++ AVFormatContext *fc = avformat_alloc_context();
++ if(!fc)
++ return -1;
++
++ AVIOContext *pb = avio_alloc_context(pDataBuffer, lSize, 0, in, read_data, NULL, seek_data);
++ if(!fc->pb) {
++ av_free(fc);
+ return -1;
++ }
++
++ fc->pb = pb;
++
++ if(avformat_open_input(&fc, "", fmt, NULL) < 0) {
++ av_free(fc);
++ return -1;
++ }
+
+- av_find_stream_info(fc);
++ avformat_find_stream_info(fc, NULL);
+
+ // Dump information about file onto standard error
+- dump_format(fc, 0, ar.path().c_str(), false);
++ av_dump_format(fc, 0, ar.path().c_str(), false);
+
+ if(fc->bit_rate)
+ ar.addValue(factory->bitrateProperty, fc->bit_rate);
+@@ -372,10 +378,10 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ ar.addTriplet(streamuri, durationPropertyName,outs.str());
+ }
+
+- //FIXME we must stop using the deprecated fuction av_metadata_get and use
++ //FIXME we must stop using the deprecated fuction av_dict_get and use
+ // av_dict_get once we are able to detect the version of FFMpeg being used
+ // using version macros. same goes for all occurences of this function.
+- AVMetadataTag *entry = av_metadata_get(stream.metadata, "language", NULL, 0);
++ AVDictionaryEntry *entry = av_dict_get(stream.metadata, "language", NULL, 0);
+ if (entry != NULL) {
+ const char *languageValue = entry->value;
+ if (size_t len = strlen(languageValue)) {
+@@ -430,7 +436,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ outs << codec.sample_rate;
+ ar.addTriplet(streamuri, sampleratePropertyName, outs.str());
+ }
+- if (codec.sample_fmt != SAMPLE_FMT_NONE) {}//FIXME sample format
++ if (codec.sample_fmt != AV_SAMPLE_FMT_NONE) {}//FIXME sample format
+
+ } else { // video stream
+
+@@ -469,7 +475,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+
+ // Tags
+
+- AVMetadataTag *entry = av_metadata_get(fc->metadata, "title", NULL, 0);
++ AVDictionaryEntry *entry = av_dict_get(fc->metadata, "title", NULL, 0);
+ if (entry != NULL)
+ {
+ const char *titleValue = entry->value;
+@@ -478,7 +484,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ }
+ }
+
+- entry = av_metadata_get(fc->metadata, "author", NULL, 0);
++ entry = av_dict_get(fc->metadata, "author", NULL, 0);
+ if (entry != NULL)
+ {
+ const char *authorValue = entry->value;
+@@ -490,7 +496,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ }
+ }
+
+- entry = av_metadata_get(fc->metadata, "copyright", NULL, 0);
++ entry = av_dict_get(fc->metadata, "copyright", NULL, 0);
+ if (entry != NULL)
+ {
+ const char *copyrightValue = entry->value;
+@@ -499,7 +505,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ }
+ }
+
+- entry = av_metadata_get(fc->metadata, "comment", NULL, 0);
++ entry = av_dict_get(fc->metadata, "comment", NULL, 0);
+ if (entry != NULL)
+ {
+ const char *commentValue = entry->value;
+@@ -508,7 +514,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ }
+ }
+
+- entry = av_metadata_get(fc->metadata, "album", NULL, 0);
++ entry = av_dict_get(fc->metadata, "album", NULL, 0);
+ if (entry != NULL)
+ {
+ const char *albumValue = entry->value;
+@@ -520,7 +526,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ }
+ }
+
+- entry = av_metadata_get(fc->metadata, "genre", NULL, 0);
++ entry = av_dict_get(fc->metadata, "genre", NULL, 0);
+ if (entry != NULL)
+ {
+ const char *genreValue = entry->value;
+@@ -529,7 +535,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ }
+ }
+
+- entry = av_metadata_get(fc->metadata, "track", NULL, 0);
++ entry = av_dict_get(fc->metadata, "track", NULL, 0);
+ if (entry != NULL)
+ {
+ const char *trackValue = entry->value;
+@@ -538,7 +544,7 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ }
+ }
+
+- entry = av_metadata_get(fc->metadata, "year", NULL, 0);
++ entry = av_dict_get(fc->metadata, "year", NULL, 0);
+ if (entry != NULL)
+ {
+ const char *yearValue = entry->value;
+@@ -547,7 +553,8 @@ FFMPEGEndAnalyzer::analyze(AnalysisResul
+ }
+ }
+
+- av_close_input_stream(fc);
++ avformat_close_input(&fc);
++ av_free(pb);
+ //url_fclose(&ByteIOCtx);
+
+ return 0;