4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 #ifndef RECORDCONFIG_H
23 #define RECORDCONFIG_H
25 #include "playbackconfig.inc"
26 #include "bcwindowbase.inc"
27 #include "recordaudio.inc"
28 #include "recordvideo.inc"
31 // This structure is passed to the driver
34 friend class RecordAudio;
39 AudioInConfig& operator=(AudioInConfig &that);
40 void copy_from(AudioInConfig *src);
41 int load_defaults(BC_Hash *defaults);
42 int save_defaults(BC_Hash *defaults);
44 // Determine if the two devices need to be opened in duplex mode
45 static int is_duplex(AudioInConfig *in, AudioOutConfig *out);
48 int oss_enable[MAXDEVICES];
49 char oss_in_device[MAXDEVICES][BCTEXTLEN];
52 int firewire_port, firewire_channel;
53 char firewire_path[BCTEXTLEN];
55 char esound_in_server[BCTEXTLEN];
57 char pulse_in_server[BCTEXTLEN];
58 char alsa_in_device[BCTEXTLEN];
60 char dvb_in_adapter[BCTEXTLEN];
66 // This should come from EDLSession::recording_format
73 // This structure is passed to the driver
76 friend class RecordVideo;
81 VideoInConfig& operator=(VideoInConfig &that);
82 void copy_from(VideoInConfig *src);
83 int load_defaults(BC_Hash *defaults);
84 int save_defaults(BC_Hash *defaults);
85 const char *get_path();
86 static const char *default_video_device;
89 char v4l2_in_device[BCTEXTLEN];
90 char v4l2jpeg_in_device[BCTEXTLEN];
91 int v4l2jpeg_in_fields;
92 char v4l2mpeg_in_device[BCTEXTLEN];
93 char screencapture_display[BCTEXTLEN];
94 int firewire_port, firewire_channel;
95 char firewire_path[BCTEXTLEN];
96 char dvb_in_adapter[BCTEXTLEN];
99 // number of frames to read from device during video recording.
101 // Dimensions of captured frame
103 // Frame rate of captured frames
105 // update default config after probe