X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fvideo_sink.h;h=6239bc557ab68ac43b28f356372404a21566109b;hb=f861018389acd9d277fe34d7621182b9b54f977f;hp=a5c16ec7f5ccca2ffacba0f92c7d8ebaf9f5a0fa;hpb=ac0a9000d5d6a62c4ef3e4902611b180501e09e1;p=dcpomatic.git diff --git a/src/lib/video_sink.h b/src/lib/video_sink.h index a5c16ec7f..6239bc557 100644 --- a/src/lib/video_sink.h +++ b/src/lib/video_sink.h @@ -1,5 +1,24 @@ -#ifndef DVDOMATIC_VIDEO_SINK_H -#define DVDOMATIC_VIDEO_SINK_H +/* + Copyright (C) 2012 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. + +*/ + +#ifndef DCPOMATIC_VIDEO_SINK_H +#define DCPOMATIC_VIDEO_SINK_H #include #include "util.h" @@ -12,9 +31,22 @@ class VideoSink public: /** Call with a frame of video. * @param i Video frame image. + * @param same true if i is the same as last time we were called. + * @param s A subtitle that should be on this frame, or 0. + */ + virtual void process_video (boost::shared_ptr i, bool same, boost::shared_ptr s) = 0; +}; + +class TimedVideoSink +{ +public: + /** Call with a frame of video. + * @param i Video frame image. + * @param same true if i is the same as last time we were called. * @param s A subtitle that should be on this frame, or 0. + * @param t Source timestamp. */ - virtual void process_video (boost::shared_ptr i, boost::shared_ptr s) = 0; + virtual void process_video (boost::shared_ptr i, bool same, boost::shared_ptr s, double t) = 0; }; #endif