X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Fformattools.C;h=f277fde29e319d0c7ab32dfb9c93227e61a08836;hb=c0125dcc1658cafc4758cca0b5d8bf88a98ed948;hp=bdc96d4ea4496bbdcecd728a5d326581f7b46b87;hpb=15359610833cd03c44fe47f5d002e643103610ec;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/formattools.C b/cinelerra-5.0/cinelerra/formattools.C index bdc96d4e..f277fde2 100644 --- a/cinelerra-5.0/cinelerra/formattools.C +++ b/cinelerra-5.0/cinelerra/formattools.C @@ -27,10 +27,11 @@ #include "filesystem.h" #include "formattools.h" #include "language.h" +#include "libdv.h" +#include "libmjpeg.h" #include "maxchannels.h" #include "mwindow.h" #include "preferences.h" -#include "quicktime.h" #include "theme.h" #include "videodevice.inc" #include @@ -292,6 +293,7 @@ void FormatTools::update_driver(int driver) { this->video_driver = driver; + locked_compressor = 0; switch(driver) { case CAPTURE_DVB: @@ -304,61 +306,50 @@ void FormatTools::update_driver(int driver) format_text->update(_("MPEG stream")); asset->format = FILE_MPEG; } - locked_compressor = 0; audio_switch->update(1); video_switch->update(1); break; case CAPTURE_IEC61883: case CAPTURE_FIREWIRE: + case CAPTURE_LML: case CAPTURE_BUZ: case VIDEO4LINUX2JPEG: case CAPTURE_JPEG_WEBCAM: - if(asset->format != FILE_AVI && - asset->format != FILE_MOV) - { - format_text->update(MOV_NAME); - asset->format = FILE_MOV; - } - else - format_text->update(File::formattostr(asset->format)); - - switch(driver) - { - case CAPTURE_IEC61883: - case CAPTURE_FIREWIRE: - locked_compressor = (char*)QUICKTIME_DVSD; - strcpy(asset->vcodec, QUICKTIME_DVSD); - break; - - case CAPTURE_BUZ: - case VIDEO4LINUX2JPEG: - locked_compressor = (char*)QUICKTIME_MJPA; - strcpy(asset->vcodec, QUICKTIME_MJPA); - break; + asset->format = FILE_FFMPEG; + format_text->update(File::formattostr(asset->format)); - case CAPTURE_JPEG_WEBCAM: - locked_compressor = (char*)QUICKTIME_JPEG; - strcpy(asset->vcodec, QUICKTIME_JPEG); - break; + switch(driver) { + case CAPTURE_IEC61883: + case CAPTURE_FIREWIRE: + locked_compressor = (char*)CODEC_TAG_DVSD; + break; + + case CAPTURE_BUZ: + case CAPTURE_LML: + case VIDEO4LINUX2JPEG: + locked_compressor = (char*)CODEC_TAG_MJPEG; + break; + + case CAPTURE_JPEG_WEBCAM: + locked_compressor = (char*)CODEC_TAG_JPEG; + break; } + if( locked_compressor ) + strcpy(asset->vcodec, locked_compressor); audio_switch->update(asset->audio_data); video_switch->update(asset->video_data); break; - - - - default: format_text->update(File::formattostr(asset->format)); - locked_compressor = 0; audio_switch->update(asset->audio_data); video_switch->update(asset->video_data); break; } close_format_windows(); + update_format(); } void FormatTools::update_format() @@ -402,7 +393,7 @@ void FormatTools::update_extension() const char *extension = File::get_tag(asset->format); // split multiple extensions ArrayList extensions; - int len = strlen(extension); + int len = !extension ? -1 : strlen(extension); const char *extension_ptr = extension; for(int i = 0; i <= len; i++) {