Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

framedisplayer.h

Go to the documentation of this file.
00001 /*
00002 * framedisplayer.h -- sends frame objects to Displayer and audio device
00003 * Copyright (C) 2000 Arne Schirmacher <arne@schirmacher.de>
00004 * Copyright (C) 2001-2007 Dan Dennedy <dan@dennedy.org>
00005 *
00006 * This program is free software; you can redistribute it and/or modify
00007 * it under the terms of the GNU General Public License as published by
00008 * the Free Software Foundation; either version 2 of the License, or
00009 * (at your option) any later version.
00010 *
00011 * This program is distributed in the hope that it will be useful,
00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 * GNU General Public License for more details.
00015 *
00016 * You should have received a copy of the GNU General Public License
00017 * along with this program; if not, write to the Free Software Foundation,
00018 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00019 */
00020 
00021 #ifndef _FRAME_DISPLAYER_H
00022 #define _FRAME_DISPLAYER_H
00023 
00024 #include <gdk/gdk.h>
00025 #include <gtk/gtk.h>
00026 
00027 #define DV_FOURCC_YV12  0x32315659  /* 4:2:0 Planar mode: Y + V + U  (3 planes) */
00028 #define DV_FOURCC_YUY2  0x32595559  /* 4:2:2 Packed mode: Y0+U0+Y1+V0 (1 plane) */
00029 
00030 #include "displayer.h"
00031 #include "oss.h"
00032 
00033 class Frame;
00034 
00035 class FrameDisplayer
00036 {
00037 public:
00038     Displayer *displayer;
00039     AudioResample<int16_ne_t,int16_ne_t> *resampler;
00040 
00041     unsigned char pixels[ FRAME_MAX_WIDTH * FRAME_MAX_HEIGHT * 4 ];
00042 
00043     /* audio support */
00044     kino_sound_t *audio_device;
00045     gint16 *audio_buffers[ 4 ];
00046     gboolean audio_device_avail;
00047     gint audio_sampling_rate;
00048 
00049     FrameDisplayer();
00050     ~FrameDisplayer();
00051     void CloseSound();
00052     void Put( Frame &frame, GtkWidget *drawingarea, gboolean no_audio );
00053     void PutSound( Frame &frame );
00054     void PutGDKRGB32( Frame &frame, GtkWidget *drawingarea );
00055 private:
00056     bool prevIsWide;
00057 };
00058 
00059 #endif

Generated on Sun Mar 11 22:11:45 2007 for Kino by  doxygen 1.4.2