トップページ > 過去ログ > 記事閲覧
ムービー再生時のメモリリーク
名前:親父 日時: 2013/02/25 20:40

連即してムービー再生を行うデジタルサイネージ的なアプリを作成しているのですが、動画を再生終了する毎にメモリが数MBずつ増えています。 PlayMovieToGraph()のサンプルで試したのですが、やはり同様の動作をしています。これはDxlib内でメモリリークしているのでしょうか? #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int MovieGraphHandle ; int i = 0; char Name[4][256] = {"video1.avi", "video2.avi", "video3.avi", "video4.avi"}; if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1; // エラーが起きたら直ちに終了 } for(i = 0; i < 4; i++){ // ムービーファイルをロードします。 MovieGraphHandle = LoadGraph( Name[i] ) ; // ムービーの再生位置を5秒目に変更します SeekMovieToGraph( MovieGraphHandle , 5000 ) ; // ムービーを再生状態にします PlayMovieToGraph( MovieGraphHandle ) ; // ループ、GetMovieStateToGraph 関数はムービーの再生状態を得る関数です // 戻り値が1の間は再生状態ですのでループを続けます while( ProcessMessage() == 0 && GetMovieStateToGraph( MovieGraphHandle ) == 1 ) { // ムービー映像を画面いっぱいに描画します DrawExtendGraph( 0 , 0 , 640 , 480 , MovieGraphHandle , FALSE ) ; // ウエイトをかけます、あまり速く描画すると画面がちらつくからです WaitTimer( 17 ) ; } if(MovieGraphHandle != -1){ PauseMovieToGraph(MovieGraphHandle); DeleteGraph(MovieGraphHandle); } } DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }

Page: 1 |

Re: ムービー再生時のメモリリーク ( No.1 )
名前:管理人 日時:2013/03/03 21:39

最近 Ogg Theora 以外のファイル形式の動画を再生した際に発生するメモリリークのバグを 修正しましたので、こちらの最新版では直っているかもしれません http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_DevCppTest.exe // Dev-C++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibDotNet.zip // .NET用 http://homepage2.nifty.com/natupaji/DxLib/DxLibMakeTest.exe // ソース (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』を、VCをお使いの場合は『リビルド』を、 Dev-C++をお使いの方は「Rebuild All(Ctrl+F11)」をして下さい) よろしければお試しになってみてください m(_ _)m
Re: ムービー再生時のメモリリーク ( No.2 )
名前:親父 日時:2013/03/05 21:28

管理人様、 最新版にて修正されているようです。 ありがとうございました。

Page: 1 |