diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-11-09 16:53:30 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-11-09 16:53:30 +0000 |
| commit | 2b69ea346a5c8f550c3be474db9734dd754eb1a0 (patch) | |
| tree | ba28bada7ec93241c0dd1b530ab11b48f415fb92 /src | |
| parent | d688e14e789e1ef99161e247d557e09738e047a7 (diff) | |
Drop JobManager on cli-exit for valgrind; use avcodec_free_frame rather than av_free.
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/ffmpeg.cc | 2 | ||||
| -rw-r--r-- | src/lib/job_manager.cc | 7 | ||||
| -rw-r--r-- | src/lib/job_manager.h | 1 | ||||
| -rw-r--r-- | src/lib/playlist.cc | 4 | ||||
| -rw-r--r-- | src/tools/dcpomatic_cli.cc | 5 |
5 files changed, 18 insertions, 1 deletions
diff --git a/src/lib/ffmpeg.cc b/src/lib/ffmpeg.cc index c97b79a71..596703a01 100644 --- a/src/lib/ffmpeg.cc +++ b/src/lib/ffmpeg.cc @@ -58,7 +58,7 @@ FFmpeg::~FFmpeg () } } - av_free (_frame); + avcodec_free_frame (&_frame); avformat_close_input (&_format_context); } diff --git a/src/lib/job_manager.cc b/src/lib/job_manager.cc index a841fa60b..2695d3d10 100644 --- a/src/lib/job_manager.cc +++ b/src/lib/job_manager.cc @@ -138,3 +138,10 @@ JobManager::instance () return _instance; } + +void +JobManager::drop () +{ + delete _instance; + _instance = 0; +} diff --git a/src/lib/job_manager.h b/src/lib/job_manager.h index 0040568c6..d0dac7d19 100644 --- a/src/lib/job_manager.h +++ b/src/lib/job_manager.h @@ -43,6 +43,7 @@ public: boost::signals2::signal<void (bool)> ActiveJobsChanged; static JobManager* instance (); + static void drop (); private: /* This function is part of the test suite */ diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc index c54b24c1c..405786050 100644 --- a/src/lib/playlist.cc +++ b/src/lib/playlist.cc @@ -360,6 +360,10 @@ Playlist::move_earlier (shared_ptr<Content> c) (*previous)->set_position (p + c->length_after_trim ()); c->set_position (p); sort (_content.begin(), _content.end(), ContentSorter ()); + + for (i = _content.begin(); i != _content.end(); ++i) { + cout << (*i)->position() << " " << (*i)->path() << "\n"; + } Changed (); } diff --git a/src/tools/dcpomatic_cli.cc b/src/tools/dcpomatic_cli.cc index 1f3d47fe8..90e11a9d1 100644 --- a/src/tools/dcpomatic_cli.cc +++ b/src/tools/dcpomatic_cli.cc @@ -201,6 +201,11 @@ main (int argc, char* argv[]) } } + /* This is just to stop valgrind reporting leaks due to JobManager + indirectly holding onto codecs. + */ + JobManager::drop (); + return error ? EXIT_FAILURE : EXIT_SUCCESS; } |
