improve ffmpeg format selection popup menu, more ffmpeg audio fixes
[goodguy/history.git] / cinelerra-5.0 / cinelerra / file.C
index 294c6c6c52bc6f89f55c049ed840c0711135d145..be231980711914260d79003cde01ade0bfd3b39c 100644 (file)
 #include "pluginserver.h"
 #include "preferences.h"
 #include "samples.h"
-#include "stringfile.h"
 #include "vframe.h"
 
-
-
+//suppress noref warning
+void *vorbis0_ov_callbacks[] = {
+ &OV_CALLBACKS_DEFAULT, &OV_CALLBACKS_NOCLOSE,
+ &OV_CALLBACKS_STREAMONLY, &OV_CALLBACKS_STREAMONLY_NOCLOSE,
+};
 
 File::File()
 {
@@ -513,7 +515,7 @@ int File::open_file(Preferences *preferences,
                        buffer, 
                        buffer_size);
                delete [] buffer;
-               delete [] string;
+               free(string);
 //printf("File::open_file %d\n", __LINE__);
 
 // Get the updated asset from the fork
@@ -794,7 +796,7 @@ int File::open_file(Preferences *preferences,
 
 // Reopen file with correct parser and get header.
        if(file->open_file(rd, wr)) {
-               delete file;
+               delete file;  file = 0;
                return FILE_NOT_FOUND;
        }
 
@@ -808,7 +810,7 @@ int File::open_file(Preferences *preferences,
        if( rd ) {
 // one frame image file, no specific length
                if( !this->asset->audio_data && this->asset->video_data &&
-                   this->asset->video_length == 1 )
+                   this->asset->video_length <= 1 )
                        this->asset->video_length = -1;
        }
 
@@ -2486,7 +2488,7 @@ const char* File::get_tag(int format)
                case FILE_VMPEG:        return "m2v";
                case FILE_VORBIS:       return "ogg";
                case FILE_WAV:          return "wav";
-               case FILE_FFMPEG:       return "media";
+               case FILE_FFMPEG:       return "ffmpg";
        }
        return 0;
 }