On 07/23/2012 03:24 PM, David C. Rankin wrote:
On 07/20/2012 04:16 PM, David C. Rankin wrote:
Tim, All,
To track the recent handful of ftbfs for k3b, k9copy, kdmtheme, krusader due to scope/declaration issues that have surfaced, I have opened:
http://bugs.pearsoncomputing.net/bugzilla/show_bug.cgi?id=1119
That will provide a common point to work from.
The failure in k9copy and likely k3b is due to ffmpeg 0.11-1. Since the updates to ffmpeg contain potential security related fixes, I elevated the bug to a blocker for R14. See: http://ffmpeg.org/
I'm trying to figure out what needs to be fixed in k9copy. Any help appreciated.
cpp help needed:
Looking at the k9copy ftbfs, the problem seems to be that the AVFormatParameters struct has been dropped from /usr/include/libavformat/avformat.h. The error:
In file included from k9avidecode.cpp:12:0: k9avidecode.h:35:91: error: 'AVFormatParameters' has not been declared
Both AVFormatContext, and AVInputFormat are defined in /usr/include/libavformat/avformat.h, but AVFormatParameters is nowhere to be found. It used to be there:
http://ffmpeg.org/doxygen/0.6/structAVFormatParameters.html
How do I fix the code? A whole struct disappeared.
Along with the drop of AVFormatParameters it looks like 'av_open_input_file' is deprecated in favor of 'avformat_open_input'. Thankfully there are only 4 instances of this in k9copy (k9author/k9avidecode.h k9author/k9avidecode.cpp).
17:19 archangel:/dat_e/tmp/src/k9copy> grep -r av_open_input_file * k9author/k9avidecode.h:typedef int (*av_open_input_file_t)(AVFormatContext **, const char *,AVInputFormat *,int, AVFormatParameters *); k9author/k9avidecode.h: av_open_input_file_t av_open_input_file; k9author/k9avidecode.cpp: av_open_input_file = (av_open_input_file_t)dlsym(FormatHandle,"av_open_input_file"); k9author/k9avidecode.cpp: if (av_open_input_file(&m_FormatCtx, _fileName.utf8(), NULL, 0, NULL)!=0) {
How do you fix this? What is the lvalue and rvalue that need changing? The reason this is confusing is av_open_input_file seems to be used both as a name_t and by itself:
Experts - what say you? This will take an experienced eye.