X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fpiece.h;h=440beecf4bd6af079bd5b552fae0fddd3ead7a44;hp=17b87b884664e49ef3ef787f87f5ce5ffbbe3b03;hb=386e25f3b9d3fa59cbdeed458d9b3e0d21e338b8;hpb=9e758fddfb8bbadb1fc84e393daa815445d5e9d5 diff --git a/src/lib/piece.h b/src/lib/piece.h index 17b87b884..440beecf4 100644 --- a/src/lib/piece.h +++ b/src/lib/piece.h @@ -1,19 +1,20 @@ /* Copyright (C) 2013-2014 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic 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, + DCP-o-matic 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. + along with DCP-o-matic. If not, see . */ @@ -21,46 +22,25 @@ #define DCPOMATIC_PIECE_H #include "types.h" -#include "video_content.h" +#include "frame_rate_change.h" class Content; class Decoder; -class Piece; -class ImageProxy; -class Player; - -struct IncomingVideo -{ -public: - boost::weak_ptr weak_piece; - boost::shared_ptr image; - Eyes eyes; - Part part; - bool same; - VideoContent::Frame frame; - Time extra; -}; class Piece { public: - Piece (boost::shared_ptr c); - Piece (boost::shared_ptr c, boost::shared_ptr d); - void set_repeat (IncomingVideo video, int num); - void reset_repeat (); - bool repeating () const; - void repeat (Player* player); + Piece (boost::shared_ptr c, boost::shared_ptr d, FrameRateChange f) + : content (c) + , decoder (d) + , frc (f) + , done (false) + {} boost::shared_ptr content; boost::shared_ptr decoder; - /** Time of the last video we emitted relative to the start of the DCP */ - Time video_position; - /** Time of the last audio we emitted relative to the start of the DCP */ - Time audio_position; - - IncomingVideo repeat_video; - int repeat_to_do; - int repeat_done; + FrameRateChange frc; + bool done; }; #endif