2007年12月15日

ConvertMovieToFile:NewMovieFromFile Error

FFmpeg rev.11142あたりから、携帯動画変換君でこんなエラーが出るようになりました。
rev.11141までは出ていなかったエラーです。

A>ConvertMovieToFile:NewMovieFromFile Error
A>Dialog : 処理実行中にエラーが発生しました [Error:-8971]

rev.11141からrev.11142への変更の中に原因があるらしい?
ということで、以下のように修正したところ、エラーが出なくなりました。

2008/1/13
ひでぼさんの情報より、修正方法を追記しました。
修正方法は2パターンありますので、どちらか一方のみ適用してみてください。
ここに置いてあるFFmpeg rev.11436以降は、(2)の修正を適用しています。

(1)
libavcodec/opt.c 229行目(av_get_string関数中)の、変換文字を"0x%08X"から"%d"に変更します。
修正前) case FF_OPT_TYPE_FLAGS: snprintf(buf, buf_len, "0x%08X",*(int *)dst);break;
修正後) case FF_OPT_TYPE_FLAGS: snprintf(buf, buf_len, "%d" , *(int *)dst);break;

(2)
libavcodec/opt.c 182行目の後(av_set_string関数中)に、文字列の先頭が"0x"の時の処理を追加します。
if (cmd=='+') d= av_get_int(obj, name, NULL) | (int64_t)d;
else if(cmd=='-') d= av_get_int(obj, name, NULL) &~(int64_t)d;
else if(buf[0] == '0' && buf[1] == 'x') d = strtoul(buf, NULL, 16);

エラーの原因を解明できたわけではなく、差分を取って、エラーが出る前に戻しただけです。
ご参考まで。
posted by あべちん at 21:36 | Comment(3) | TrackBack(0) | 携帯動画変換君
この記事へのコメント
11142以降エラーで
11141を使ってました
おかげで最新のを使えるようになりました

いつも貴重な情報をありがとうございます
Posted by 蓄電 at 2007年12月16日 03:55
まだWindows2000を使っているので、QuickTimeが古いせいかな?などとも考えていたのですが、他の方もエラーになっていたんですね。
ヨカッタヨカッタ
Posted by あべちん at 2007年12月18日 00:48
僕はWINDOWS XPで最新のQuickTimeを使ってます

iPodの変換に
MP4Boxを使ってますがエラーが出て困ってました

SVNをみるとrev.11250で
libavcodec/opt.cに変更がされていたので
修正せずにコンパイルしてみましたがエラーは変わりませんでした
Posted by 蓄電 at 2007年12月18日 13:10
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/8333780
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック