projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master.
[dcpomatic.git]
/
src
/
lib
/
analyse_audio_job.cc
diff --git
a/src/lib/analyse_audio_job.cc
b/src/lib/analyse_audio_job.cc
index fc0abe0a3b5914fa953d1c06247e1f60d20759da..af58e77ac59058097be12614c8c8499656ccff93 100644
(file)
--- a/
src/lib/analyse_audio_job.cc
+++ b/
src/lib/analyse_audio_job.cc
@@
-66,10
+66,7
@@
AnalyseAudioJob::run ()
shared_ptr<Playlist> playlist (new Playlist);
playlist->add (content);
shared_ptr<Player> player (new Player (_film, playlist));
shared_ptr<Playlist> playlist (new Playlist);
playlist->add (content);
shared_ptr<Player> player (new Player (_film, playlist));
- player->disable_video ();
- player->Audio.connect (bind (&AnalyseAudioJob::audio, this, _1, _2));
-
int64_t const len = _film->length().frames (_film->audio_frame_rate());
_samples_per_point = max (int64_t (1), len / _num_points);
int64_t const len = _film->length().frames (_film->audio_frame_rate());
_samples_per_point = max (int64_t (1), len / _num_points);
@@
-77,8
+74,10
@@
AnalyseAudioJob::run ()
_analysis.reset (new AudioAnalysis (_film->audio_channels ()));
_done = 0;
_analysis.reset (new AudioAnalysis (_film->audio_channels ()));
_done = 0;
- while (!player->pass ()) {
- set_progress (double (_done) / len);
+ DCPTime const block = DCPTime::from_seconds (1.0 / 8);
+ for (DCPTime t; t < _film->length(); t += block) {
+ analyse (player->get_audio (t, block, false));
+ set_progress (t.seconds() / _film->length().seconds());
}
_analysis->write (content->audio_analysis_path ());
}
_analysis->write (content->audio_analysis_path ());
@@
-88,7
+87,7
@@
AnalyseAudioJob::run ()
}
void
}
void
-AnalyseAudioJob::a
udio (shared_ptr<const AudioBuffers> b, DCPTime
)
+AnalyseAudioJob::a
nalyse (shared_ptr<const AudioBuffers> b
)
{
for (int i = 0; i < b->frames(); ++i) {
for (int j = 0; j < b->channels(); ++j) {
{
for (int i = 0; i < b->frames(); ++i) {
for (int j = 0; j < b->channels(); ++j) {