diff options
| author | Carl Hetherington <cth@carlh.net> | 2013-06-21 12:52:50 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2013-06-21 12:52:50 +0100 |
| commit | 01791aac0b11e9f296cd31a7803e287203bd8355 (patch) | |
| tree | 04e200b8765d06f483476211f62341178ccb013e /src/lib/player.cc | |
| parent | 8db8de91e2a5489da345fae7544753f4cb2f5ab4 (diff) | |
Fix tests.
Diffstat (limited to 'src/lib/player.cc')
| -rw-r--r-- | src/lib/player.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib/player.cc b/src/lib/player.cc index c05897c23..cd1c54d5b 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -42,6 +42,8 @@ using boost::shared_ptr; using boost::weak_ptr; using boost::dynamic_pointer_cast; +#define DEBUG_PLAYER 1 + struct Piece { Piece (shared_ptr<Content> c, shared_ptr<Decoder> d) @@ -52,6 +54,30 @@ struct Piece shared_ptr<Content> content; shared_ptr<Decoder> decoder; }; + + +#ifdef DEBUG_PLAYER +std::ostream& operator<<(std::ostream& s, Piece const & p) +{ + if (dynamic_pointer_cast<NullContent> (p.content)) { + if (dynamic_pointer_cast<SilenceDecoder> (p.decoder)) { + s << "\tsilence "; + } else { + s << "\tblack "; + } + } else if (dynamic_pointer_cast<FFmpegContent> (p.content)) { + s << "\tffmpeg "; + } else if (dynamic_pointer_cast<ImageMagickContent> (p.content)) { + s << "\timagemagick"; + } else if (dynamic_pointer_cast<SndfileContent> (p.content)) { + s << "\tsndfile "; + } + + s << " at " << p.content->start() << " until " << p.content->end(); + + return s; +} +#endif Player::Player (shared_ptr<const Film> f, shared_ptr<const Playlist> p) : _film (f) @@ -332,6 +358,13 @@ Player::setup_pieces () } else if (audio_pos < video_pos) { add_silent_piece (audio_pos, video_pos - audio_pos); } + +#ifdef DEBUG_PLAYER + cout << "=== Player setup:\n"; + for (list<shared_ptr<Piece> >::iterator i = _pieces.begin(); i != _pieces.end(); ++i) { + cout << *(i->get()) << "\n"; + } +#endif } void |
