summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2015-06-25 09:38:02 +0100
committerCarl Hetherington <cth@carlh.net>2015-06-25 09:38:02 +0100
commita1201ace8a1d5d3e0a9eca769cb9e0a12bf32693 (patch)
tree342cd771a02c0de09338a9da2950439f612d29d6 /src/lib
parent11f927d8f8709d4ee3e1e8efd37e053e1e1a3821 (diff)
Add DEBUG_DECODE and some basic debugging of the decoding process.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/audio_decoder_stream.cc6
-rw-r--r--src/lib/config.cc2
-rw-r--r--src/lib/log.cc10
-rw-r--r--src/lib/log.h2
-rw-r--r--src/lib/video_decoder.cc6
5 files changed, 18 insertions, 8 deletions
diff --git a/src/lib/audio_decoder_stream.cc b/src/lib/audio_decoder_stream.cc
index 8c521f94d..fdcebbc9f 100644
--- a/src/lib/audio_decoder_stream.cc
+++ b/src/lib/audio_decoder_stream.cc
@@ -23,6 +23,8 @@
#include "audio_decoder.h"
#include "resampler.h"
#include "util.h"
+#include "film.h"
+#include "log.h"
#include <iostream>
#include "i18n.h"
@@ -58,6 +60,8 @@ AudioDecoderStream::get (Frame frame, Frame length, bool accurate)
{
shared_ptr<ContentAudio> dec;
+ _content->film()->log()->log (String::compose ("ADS has request for %1 %2", frame, length), Log::TYPE_DEBUG_DECODE);
+
Frame const end = frame + length - 1;
if (frame < _decoded.frame || end > (_decoded.frame + length * 4)) {
@@ -130,6 +134,8 @@ AudioDecoderStream::get (Frame frame, Frame length, bool accurate)
void
AudioDecoderStream::audio (shared_ptr<const AudioBuffers> data, ContentTime time)
{
+ _content->film()->log()->log (String::compose ("ADS receives %1 %2", time, data->frames ()), Log::TYPE_DEBUG_DECODE);
+
if (_resampler) {
data = _resampler->run (data);
}
diff --git a/src/lib/config.cc b/src/lib/config.cc
index e6f363729..ee38e9866 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -78,7 +78,7 @@ Config::set_defaults ()
_check_for_updates = false;
_check_for_test_updates = false;
_maximum_j2k_bandwidth = 250000000;
- _log_types = Log::TYPE_GENERAL | Log::TYPE_WARNING | Log::TYPE_ERROR | Log::TYPE_DEBUG;
+ _log_types = Log::TYPE_GENERAL | Log::TYPE_WARNING | Log::TYPE_ERROR;
#ifdef DCPOMATIC_WINDOWS
_win32_console = false;
#endif
diff --git a/src/lib/log.cc b/src/lib/log.cc
index 42184ec45..d9696f3cc 100644
--- a/src/lib/log.cc
+++ b/src/lib/log.cc
@@ -32,11 +32,11 @@
using namespace std;
-int const Log::TYPE_GENERAL = 0x1;
-int const Log::TYPE_WARNING = 0x2;
-int const Log::TYPE_ERROR = 0x4;
-int const Log::TYPE_DEBUG = 0x8;
-int const Log::TYPE_TIMING = 0x10;
+int const Log::TYPE_GENERAL = 0x1;
+int const Log::TYPE_WARNING = 0x2;
+int const Log::TYPE_ERROR = 0x4;
+int const Log::TYPE_DEBUG_DECODE = 0x8;
+int const Log::TYPE_TIMING = 0x10;
Log::Log ()
: _types (0)
diff --git a/src/lib/log.h b/src/lib/log.h
index 1b7cef038..6803f8d59 100644
--- a/src/lib/log.h
+++ b/src/lib/log.h
@@ -42,7 +42,7 @@ public:
static const int TYPE_GENERAL;
static const int TYPE_WARNING;
static const int TYPE_ERROR;
- static const int TYPE_DEBUG;
+ static const int TYPE_DEBUG_DECODE;
static const int TYPE_TIMING;
void log (std::string message, int type);
diff --git a/src/lib/video_decoder.cc b/src/lib/video_decoder.cc
index fcc262163..cdf8bc12a 100644
--- a/src/lib/video_decoder.cc
+++ b/src/lib/video_decoder.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -75,6 +75,8 @@ VideoDecoder::get_video (Frame frame, bool accurate)
one after the end of _decoded_video we need to seek.
*/
+ _video_content->film()->log()->log (String::compose ("VD has request for %1", frame), Log::TYPE_DEBUG_DECODE);
+
if (_decoded_video.empty() || frame < _decoded_video.front().frame || frame > (_decoded_video.back().frame + 1)) {
seek (ContentTime::from_frames (frame, _video_content->video_frame_rate()), accurate);
}
@@ -233,6 +235,8 @@ VideoDecoder::video (shared_ptr<const ImageProxy> image, Frame frame)
return;
}
+ _video_content->film()->log()->log (String::compose ("VD receives %1", frame), Log::TYPE_DEBUG_DECODE);
+
/* We may receive the same frame index twice for 3D, and we need to know
when that happens.
*/