projects
/
dcpomatic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d688e14
)
Drop JobManager on cli-exit for valgrind; use avcodec_free_frame rather than av_free.
author
Carl Hetherington
<cth@carlh.net>
Sat, 9 Nov 2013 16:53:30 +0000
(16:53 +0000)
committer
Carl Hetherington
<cth@carlh.net>
Sat, 9 Nov 2013 16:53:30 +0000
(16:53 +0000)
src/lib/ffmpeg.cc
patch
|
blob
|
history
src/lib/job_manager.cc
patch
|
blob
|
history
src/lib/job_manager.h
patch
|
blob
|
history
src/lib/playlist.cc
patch
|
blob
|
history
src/tools/dcpomatic_cli.cc
patch
|
blob
|
history
diff --git
a/src/lib/ffmpeg.cc
b/src/lib/ffmpeg.cc
index c97b79a719bb6b540971c324bc906bdffca644ab..596703a012818299ee601f5b5dcd9166a0a581e3 100644
(file)
--- a/
src/lib/ffmpeg.cc
+++ b/
src/lib/ffmpeg.cc
@@
-58,7
+58,7
@@
FFmpeg::~FFmpeg ()
}
}
}
}
- av
_free (
_frame);
+ av
codec_free_frame (&
_frame);
avformat_close_input (&_format_context);
}
avformat_close_input (&_format_context);
}
diff --git
a/src/lib/job_manager.cc
b/src/lib/job_manager.cc
index a841fa60bd553698a873e7105d5f2086e8e4040b..2695d3d10b992dfcec35cc86914ff62e6db76090 100644
(file)
--- a/
src/lib/job_manager.cc
+++ b/
src/lib/job_manager.cc
@@
-138,3
+138,10
@@
JobManager::instance ()
return _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 0040568c66a5958bb497b86e83e92deba10655da..d0dac7d19369073eda9761b2290b4e272056c786 100644
(file)
--- 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 ();
boost::signals2::signal<void (bool)> ActiveJobsChanged;
static JobManager* instance ();
+ static void drop ();
private:
/* This function is part of the test suite */
private:
/* This function is part of the test suite */
diff --git
a/src/lib/playlist.cc
b/src/lib/playlist.cc
index c54b24c1c947e3bc78c134c74fc36f0e30468ee5..405786050a604773728028585945e59d257b256d 100644
(file)
--- 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 ());
(*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 ();
}
Changed ();
}
diff --git
a/src/tools/dcpomatic_cli.cc
b/src/tools/dcpomatic_cli.cc
index 1f3d47fe84d1cb1b129de4fe084d2bc365b5b047..90e11a9d140b2885060add087d4c4c6cf3fcb581 100644
(file)
--- 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;
}
return error ? EXIT_FAILURE : EXIT_SUCCESS;
}