10 #include <netinet/in.h>
11 #include <sys/resource.h>
14 #define RAW_BUF_SIZE 4096
27 int raw_iso_handler(raw1394handle_t handle,
int channel,
size_t length, quadlet_t *data) {
38 raw1394_update_generation(handle, generation);
46 struct raw1394_portinfo pinf[16];
47 raw1394handle_t handle;
48 struct pollfd raw1394_poll;
50 if (!(handle = raw1394_new_handle())) {
51 d_print(
_(
"raw1394 - couldn't get handle"));
52 do_error_dialog(
_(
"\nThe ieee1394 driver is not loaded or /dev/raw1394 does not exist.\n"));
56 if ((numcards = raw1394_get_port_info(handle, pinf, 16)) < 0) {
62 if (raw1394_set_port(handle, 0) < 0) {
72 raw1394_poll.fd = raw1394_get_fd(handle);
73 raw1394_poll.events = POLLIN;
76 if (poll(&raw1394_poll, 1, 10) < 1)
break;
77 raw1394_loop_iterate(handle);
91 raw1394_destroy_handle(handle);
96 raw1394_destroy_handle(cam->
handle);
102 rom1394_directory rom_dir;
104 struct raw1394_portinfo pinf[16];
117 cam->handle = raw1394_get_handle();
119 cam->handle = raw1394_new_handle();
126 d_print(
_(
"Couldn't get 1394 handle"));
132 if ((n_ports = raw1394_get_port_info(cam->handle, pinf, 16)) < 0) {
133 msg =
lives_strdup_printf(
_(
"raw1394 - failed to get port info: %s.\n"), lives_strerror(errno));
136 raw1394_destroy_handle(cam->handle);
141 for (j = 0; j < n_ports && cam->device == -1; j++) {
142 if (raw1394_set_port(cam->handle, j) < 0) {
149 for (i = 0; i < raw1394_get_nodecount(cam->handle); ++i) {
150 if (rom1394_get_directory(cam->handle, i, &rom_dir) < 0) {
157 if ((rom1394_get_node_type(&rom_dir) == ROM1394_NODE_TYPE_AVC) &&
158 avc1394_check_subunit_type(cam->handle, i, AVC1394_SUBUNIT_TYPE_VCR)) {
165 if (0 && cam->device == -1) {
167 _(
"\nLiVES could not find any firewire camera.\nPlease make sure your camera is switched on,\n"
168 "and check that you have read/write permissions for the camera device\n(generally /dev/raw1394*).\n"));
169 raw1394_destroy_handle(cam->handle);
214 char *fname, *tmp = NULL, *tmp2, *tmp3;
219 for (i = 1; i < 10000; i++) {
221 if (!lives_file_test((tmp = lives_build_filename((tmp2 = lives_filename_from_utf8(
dvgrabw->
dirname, -1, NULL, NULL, NULL)),
222 (tmp3 = lives_filename_from_utf8(fname, -1, NULL, NULL, NULL)), NULL)),
223 LIVES_FILE_TEST_EXISTS))
break;
230 for (i = 1; i < 1000; i++) {
232 if (!lives_file_test((tmp = lives_build_filename((tmp2 = lives_filename_from_utf8(
dvgrabw->
dirname, -1, NULL, NULL, NULL)),
233 (tmp3 = lives_filename_from_utf8(fname, -1, NULL, NULL, NULL)), NULL)),
234 LIVES_FILE_TEST_EXISTS))
break;
251 char *tmp2, *tmp3, *com;
257 else splits = lives_strdup(
"");
263 (tmp2 = lives_filename_from_utf8(
dvgrabw->
dirname, -1, NULL, NULL, NULL)),
264 (tmp3 = lives_filename_from_utf8(
dvgrabw->
filename, -1, NULL, NULL, NULL)));
267 (tmp2 = lives_filename_from_utf8(
dvgrabw->
dirname, -1, NULL, NULL, NULL)),
268 (tmp3 = lives_filename_from_utf8(
dvgrabw->
filename, -1, NULL, NULL, NULL)));
281 (tmp2 = lives_filename_from_utf8(
dvgrabw->
dirname, -1, NULL, NULL, NULL)),
282 (tmp3 = lives_filename_from_utf8(
dvgrabw->
filename, -1, NULL, NULL, NULL)));
285 (tmp2 = lives_filename_from_utf8(
dvgrabw->
dirname, -1, NULL, NULL, NULL)),
286 (tmp3 = lives_filename_from_utf8(
dvgrabw->
filename, -1, NULL, NULL, NULL)));
301 int type = LIVES_POINTER_TO_INT(user_data);