[lfs-patches] r2485 - trunk/strigi

bdubbs at linuxfromscratch.org bdubbs at linuxfromscratch.org
Wed Jul 4 09:06:57 PDT 2012


Author: bdubbs
Date: 2012-07-04 10:06:47 -0600 (Wed, 04 Jul 2012)
New Revision: 2485

Added:
   trunk/strigi/strigi-0.7.7-ffmpeg_fix-1.patch
Log:
Add patch to build strigi with ffmpeg-0.11.  
Applies to new strigi-0.7.7


Added: trunk/strigi/strigi-0.7.7-ffmpeg_fix-1.patch
===================================================================
--- trunk/strigi/strigi-0.7.7-ffmpeg_fix-1.patch	                        (rev 0)
+++ trunk/strigi/strigi-0.7.7-ffmpeg_fix-1.patch	2012-07-04 16:06:47 UTC (rev 2485)
@@ -0,0 +1,160 @@
+Submitted By: Bruce Dubbs (bdubbs at linuxfromscratch dot org)
+Date: 2012-04-15
+Initial Package Version: 0.7.7
+Description: Fixes compiling strigi with FFmpeg.
+Source: Mandriva patch
+Upstream: No bug report on bugs.kde.org
+Reason: libstreamanalyzer uses deprecated symbols from ffmpeg removed in 0.11
+
+--- 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;




More information about the patches mailing list