X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fkino%2Ffilehandler.cc;h=e5e552cc52739cbf47d515c8b1997d601598fd0e;hb=e89b21b07607ae485f56b32f3e67f83f528f2ae6;hp=5591b241daea05f357eb03a9fd256aaae62116e5;hpb=4ab18d5232f843cea7198f06d13b09ce91c4f812;p=melted diff --git a/src/modules/kino/filehandler.cc b/src/modules/kino/filehandler.cc index 5591b24..e5e552c 100644 --- a/src/modules/kino/filehandler.cc +++ b/src/modules/kino/filehandler.cc @@ -41,6 +41,8 @@ using std::setfill; #include #include #include +#include +#include // libdv header files #ifdef HAVE_LIBDV @@ -706,6 +708,10 @@ bool AVIHandler::GetOpenDML() const #define QUICKTIME_DV_AVID_A "dvcp" #endif +#ifndef QUICKTIME_DVCPRO +#define QUICKTIME_DVCPRO "dvpp" +#endif + QtHandler::QtHandler() : fd( NULL ) { extension = ".mov"; @@ -852,7 +858,7 @@ int QtHandler::Close() off_t QtHandler::GetFileSize() { struct stat file_status; - fstat( fileno( fd->stream ), &file_status ); + stat( filename.c_str(), &file_status ); return file_status.st_size; } @@ -867,7 +873,7 @@ bool QtHandler::Open( const char *s ) { Init(); - fd = quicktime_open( ( char * ) s, 1, 0 ); + fd = quicktime_open( s, 1, 0 ); if ( fd == NULL ) { fprintf( stderr, "Error opening: %s\n", s ); @@ -884,7 +890,8 @@ bool QtHandler::Open( const char *s ) char * fcc = quicktime_video_compressor( fd, 0 ); if ( strncmp( fcc, QUICKTIME_DV, 4 ) != 0 && strncmp( fcc, QUICKTIME_DV_AVID, 4 ) != 0 && - strncmp( fcc, QUICKTIME_DV_AVID_A, 4 ) != 0 ) + strncmp( fcc, QUICKTIME_DV_AVID_A, 4 ) != 0 && + strncmp( fcc, QUICKTIME_DVCPRO, 4 ) != 0 ) { Close(); return false;