diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-06-25 09:38:02 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-06-25 09:38:02 +0100 |
| commit | a1201ace8a1d5d3e0a9eca769cb9e0a12bf32693 (patch) | |
| tree | 342cd771a02c0de09338a9da2950439f612d29d6 /src/lib | |
| parent | 11f927d8f8709d4ee3e1e8efd37e053e1e1a3821 (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.cc | 6 | ||||
| -rw-r--r-- | src/lib/config.cc | 2 | ||||
| -rw-r--r-- | src/lib/log.cc | 10 | ||||
| -rw-r--r-- | src/lib/log.h | 2 | ||||
| -rw-r--r-- | src/lib/video_decoder.cc | 6 |
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. */ |
