/* Copyright (C) 2013-2014 Carl Hetherington 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 the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include "lib/player.h" #include "lib/ratio.h" #include "lib/dcp_content_type.h" #include "lib/player_video_frame.h" #include "test.h" #include /* This test needs stuff in Player that is only included in debug mode */ #ifdef DCPOMATIC_DEBUG using std::cout; using boost::optional; using boost::shared_ptr; struct Video { boost::shared_ptr content; boost::shared_ptr image; Time time; }; class PlayerWrapper { public: PlayerWrapper (shared_ptr p) : _player (p) { _player->Video.connect (bind (&PlayerWrapper::process_video, this, _1, _3)); } void process_video (shared_ptr i, Time t) { Video v; v.content = _player->_last_video; v.image = i->image (PIX_FMT_RGB24); v.time = t; _queue.push_front (v); } optional