X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ffile.C;h=f0b393029718d8e0acb4632aad13a1f1042020fb;hb=33758f9c7af61e85cc5934a22a5ca300703b233a;hp=07cddec4961fc9faf60fc0b36d3cab6622073e2b;hpb=8b7ea38c6c4ddf7eab2f606682798aebd5fbb99a;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/file.C b/cinelerra-5.1/cinelerra/file.C index 07cddec4..f0b39302 100644 --- a/cinelerra-5.1/cinelerra/file.C +++ b/cinelerra-5.1/cinelerra/file.C @@ -1,6 +1,7 @@ /* * CINELERRA * Copyright (C) 2010 Adam Williams + * Copyright (C) 2003-2016 Cinelerra CV contributors * * 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 @@ -387,8 +388,12 @@ const char *File::default_probes[] = { "PNG", "PPM", "JPEG", +#ifdef HAVE_GIFLIB "GIF", +#endif +#ifdef HAVE_LIBDPX "DPX", +#endif #ifdef HAVE_OPENEXR "EXR", #endif @@ -400,7 +405,9 @@ const char *File::default_probes[] = { "OGG", "Vorbis", #endif +#ifdef HAVE_LIBZMPEG "MPEG", +#endif "EDL", "FFMPEG_Late", }; @@ -465,6 +472,7 @@ int File::probe() file = new FileJPEG(this->asset, this); return FILE_OK; } +#ifdef HAVE_GIFLIB if( !strcmp(pref->name,"GIF") ) { // GIF file if( FileGIFList::check_sig(this->asset) ) file = new FileGIFList(this->asset, this); @@ -473,6 +481,7 @@ int File::probe() else continue; return FILE_OK; } +#endif #ifdef HAVE_LIBDPX if( !strcmp(pref->name,"DPX") ) { // DPX file if( !FileDPX::check_sig(this->asset, data) ) continue; @@ -599,13 +608,14 @@ int File::open_file(Preferences *preferences, case FILE_JPEG_LIST: file = new FileJPEG(this->asset, this); break; - +#ifdef HAVE_GIFLIB case FILE_GIF: file = new FileGIF(this->asset, this); break; case FILE_GIF_LIST: file = new FileGIFList(this->asset, this); break; +#endif #ifdef HAVE_LIBDPX case FILE_DPX: case FILE_DPX_LIST: @@ -1657,7 +1667,14 @@ int File::record_fd() void File::get_exe_path(char *result, char *bnp) { // Get executable path, basename +#if !defined(__FreeBSD__) int len = readlink("/proc/self/exe", result, BCTEXTLEN-1); +#else + char exe_path[BCTEXTLEN]; + sprintf(exe_path,"/proc/%d/file",getpid()); + int len = readlink(exe_path, result, BCTEXTLEN-1); +#endif + if( len >= 0 ) { result[len] = 0; char *ptr = strrchr(result, '/');