2 * dvunit.h -- DV Transmission Unit Header
3 * Copyright (C) 2002-2003 Ushodaya Enterprises Limited
4 * Author: Dan Dennedy <dan@dennedy.org>
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 Foundation,
18 * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 #include <libraw1394/raw1394.h>
27 #include <dv1394notifier.h>
28 #include <dv1394status.h>
52 raw1394handle_t raw1394
;
56 dv1394_notifier notifier
;
58 unsigned int dv1394_syt_offset
;
59 unsigned int dv1394_cip_n
;
60 unsigned int dv1394_cip_d
;
61 unsigned int n_frames
;
66 } dv_unit_t
, *dv_unit
;
68 extern dv_unit
dv_unit_init( octlet_t guid
, int channel
);
69 extern void dv_unit_allow_stdin( dv_unit unit
, int flag
);
70 extern void dv_unit_set_buffer_size( dv_unit unit
, int size
);
71 extern int dv_unit_get_buffer_size( dv_unit unit
);
72 extern void dv_unit_set_n_frames( dv_unit unit
, int size
);
73 extern int dv_unit_get_n_frames( dv_unit unit
);
74 extern void dv_unit_set_n_fill( dv_unit unit
, int size
);
75 extern int dv_unit_get_n_fill( dv_unit unit
);
76 extern dv_error_code
dv_unit_load( dv_unit unit
, const char *clip
, long in
, long out
, int flush
);
77 extern dv_error_code
dv_unit_insert( dv_unit unit
, const char *clip
, int index
, long in
, long out
);
78 extern dv_error_code
dv_unit_append( dv_unit unit
, const char *clip
, long in
, long out
);
79 extern dv_error_code
dv_unit_remove( dv_unit unit
, int index
);
80 extern dv_error_code
dv_unit_clean( dv_unit unit
);
81 extern dv_error_code
dv_unit_move( dv_unit unit
, int src
, int dest
);
82 extern int dv_unit_transfer( dv_unit dest_unit
, dv_unit src_unit
);
83 extern void dv_unit_play( dv_unit_t
*unit
, int speed
);
84 extern void dv_unit_terminate( dv_unit
);
85 extern int dv_unit_has_terminated( dv_unit
);
86 extern octlet_t
dv_unit_get_guid( dv_unit unit
);
87 extern int dv_unit_get_nodeid( dv_unit unit
);
88 extern int dv_unit_get_channel( dv_unit unit
);
89 extern int dv_unit_online( dv_unit unit
);
90 extern void dv_unit_offline( dv_unit unit
);
91 extern int dv_unit_is_offline( dv_unit unit
);
92 extern void dv_unit_set_notifier( dv_unit
, dv1394_notifier
, char * );
93 extern int dv_unit_get_status( dv_unit
, dv1394_status
);
94 extern void dv_unit_change_position( dv_unit
, int, long position
);
95 extern void dv_unit_change_speed( dv_unit unit
, int speed
);
96 extern int dv_unit_set_clip_in( dv_unit unit
, int index
, long position
);
97 extern int dv_unit_set_clip_out( dv_unit unit
, int index
, long position
);
98 extern void dv_unit_set_mode( dv_unit unit
, dv_player_clip_mode mode
);
99 extern dv_player_clip_mode
dv_unit_get_mode( dv_unit unit
);
100 extern void dv_unit_set_eof_action( dv_unit unit
, dv_player_eof_action mode
);
101 extern dv_player_eof_action
dv_unit_get_eof_action( dv_unit unit
);
102 extern void dv_unit_step( dv_unit unit
, int offset
);
103 extern void dv_unit_close( dv_unit unit
);
104 extern int dv_unit_get_port( dv_unit unit
);
105 extern void dv_unit_set_dv1394_fd( dv_unit unit
, int fd
);
106 extern unsigned int dv_unit_get_syt_offset( dv_unit unit
);
107 extern unsigned int dv_unit_get_cip_n( dv_unit unit
);
108 extern unsigned int dv_unit_get_cip_d( dv_unit unit
);
109 extern void dv_unit_set_syt_offset( dv_unit unit
, unsigned int );
110 extern void dv_unit_set_cip_n( dv_unit unit
, unsigned int );
111 extern void dv_unit_set_cip_d( dv_unit unit
, unsigned int );
112 extern void dv_unit_suspend( dv_unit
);
113 extern void dv_unit_restore( dv_unit
);
114 extern dv_player
dv_unit_get_dv_player( dv_unit
);
115 extern int dv_unit_get_current_clip( dv_unit
);