diff options
author | handbrake <[email protected]> | 2006-01-14 13:30:07 +0000 |
---|---|---|
committer | handbrake <[email protected]> | 2006-01-14 13:30:07 +0000 |
commit | 755fee5744c3704666a875fc09dc982aded7f783 (patch) | |
tree | 6dcb37dc59f66e20ca7ea0b22752b40533e69ad0 | |
parent | b69e82fd960103c41979e00beb9b1c9fac78083b (diff) |
HandBrake 0.6.0
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@13 b64f7644-9d1e-0410-96f1-a4d463321fa5
-rw-r--r-- | BUILD | 6 | ||||
-rw-r--r-- | Jamfile | 4 | ||||
-rw-r--r-- | Jamrules | 6 | ||||
-rw-r--r-- | THANKS | 21 | ||||
-rw-r--r-- | TODO | 10 | ||||
-rw-r--r-- | TRANSLATIONS | 4 | ||||
-rw-r--r-- | core/AviMux.c | 10 | ||||
-rw-r--r-- | core/Fifo.c | 49 | ||||
-rw-r--r-- | core/Fifo.h | 4 | ||||
-rw-r--r-- | core/HandBrake.c | 62 | ||||
-rw-r--r-- | core/LpcmDec.c | 17 | ||||
-rw-r--r-- | core/Thread.c | 6 | ||||
-rw-r--r-- | core/Thread.h | 13 | ||||
-rw-r--r-- | doc/faq.txt | 9 | ||||
-rw-r--r-- | gtk2/callbacks.c | 12 | ||||
-rw-r--r-- | macosx/Controller.mm | 10 | ||||
-rw-r--r-- | macosx/English.lproj/InfoPlist.strings | bin | 520 -> 496 bytes | |||
-rw-r--r-- | macosx/HandBrake.xcode/project.pbxproj | 6 | ||||
-rw-r--r-- | macosx/i18n/de.strings (renamed from macosx/i18n/German.strings) | bin | 10126 -> 10126 bytes | |||
-rw-r--r-- | macosx/i18n/es.strings | bin | 0 -> 10238 bytes | |||
-rw-r--r-- | macosx/i18n/fr.strings (renamed from macosx/i18n/French.strings) | bin | 10100 -> 10100 bytes | |||
-rw-r--r-- | macosx/i18n/it.strings | bin | 10236 -> 10240 bytes | |||
-rw-r--r-- | macosx/i18n/pt.strings | 183 | ||||
-rw-r--r-- | test/test.c | 4 |
24 files changed, 344 insertions, 92 deletions
@@ -1,4 +1,4 @@ -$Id: BUILD,v 1.2 2004/02/13 13:45:50 titer Exp $ +$Id: BUILD,v 1.4 2004/03/16 15:57:03 titer Exp $ BUILD file for HandBrake <http://handbrake.m0k.org/> @@ -10,6 +10,8 @@ Step 1: get jam Jam <http://www.perforce.com/jam/jam.html> is a make replacement. Get it for your operating system: + + BeOS: get <http://tfs.cs.tu-berlin.de/~bonefish/download/jam/jam.zip> + (the jam used by OBOS). Also, gcc 2.95.3 is needed. + OS X: get <http://handbrake.m0k.org/files/jam-2.5rc3-OSX.zip> and copy jam to /usr/local/bin/. Do not use the modified jam shipped with the developer tools (/Developer/Private/jam). @@ -21,6 +23,8 @@ Step 2 (optional): set custom compiler flags If you want to optimize the build for a specific CPU, edit the Jamrules file and modify the "OPTIM = ..." line by adding the needed flags. +In case you modify this line later, make sure you run `jam -a' in order +to force jam to rebuild everything with the new flags. Step 3: build ============= @@ -1,4 +1,4 @@ -# $Id: Jamfile,v 1.40 2004/03/08 11:32:48 titer Exp $ +# $Id: Jamfile,v 1.41 2004/03/15 17:08:37 titer Exp $ # # This file is part of the HandBrake source code. # Homepage: <http://handbrake.m0k.org/>. @@ -25,7 +25,7 @@ if $(OS) = BEOS -I$(TOP)/core -I$(TOP)/beos/liblayout -g -Wall ; LINKLIBS on HandBrake = $(LINKLIBS) -L$(TOP)/lib -llayout -lbe ; LinkLibraries HandBrake : $(HB_LIBS) ; - Main HandBrake : $(SOURCES_BEOS) ; +# Main HandBrake : $(SOURCES_BEOS) ; } # OS X @@ -8,10 +8,12 @@ LINK = g++ ; OPTIM = -O3 -funroll-loops ; # HandBrake defines -HB_VERSION = 0.6.0-test3 ; +HB_VERSION = 0.6.0 ; DEFINES = HB_$(OS) HB_VERSION=\\\"$(HB_VERSION)\\\" ; #DEFINES += HB_NOMMX ; +LANGUAGES = fr de it pl ru nl es pt ; + # OS-specific if $(OS) = BEOS { @@ -104,7 +106,7 @@ actions BuildOSXApp $(RM) $(1) && \ ( cd macosx && xcodebuild ) && \ cp -r macosx/build/HandBrake.app $(1) && \ - for i in French German it pl ru nl; do \ + for i in $(LANGUAGES) ; do \ ( cd $(1)/Contents/Resources && \ cp -r English.lproj $i.lproj && \ cp ../../../macosx/i18n/$i.strings \ @@ -1,9 +1,16 @@ -$Id: THANKS,v 1.7 2004/03/04 17:57:17 titer Exp $ +$Id: THANKS,v 1.11 2004/03/22 19:54:04 titer Exp $ THANKS file for HandBrake <http://handbrake.m0k.org/> +Several people noticeably contributed to HandBrake development without +writing code (submitting/checking translations, DVD samples, etc). +Let's thank them here! + +Sorted by chronological order: + Omar Ahmad Bhatti - + Intensive beta testing, suggestions + + Intensive beta testing, suggestions. Convinced me to port HandBrake + to OS X, which finally was a pretty good idea. Hanna Bauer Adrien Marquette @@ -12,6 +19,7 @@ Adrien Marquette Paul B�n�chet Luidgi Esposito Andrea Gianarro +Emilio Gelosi + Italian translation Adam @@ -23,3 +31,12 @@ Nik Roby Leendert + Dutch translation +Eric Kornblum + + Sent me a sample DVD with LPCM tracks so I could add support for it + +migol Superkid + + Spanish translation + +pgjw + + Portuguese translation + @@ -1,15 +1,12 @@ -$Id: TODO,v 1.32 2004/03/08 11:32:48 titer Exp $ +$Id: TODO,v 1.33 2004/03/12 14:22:19 titer Exp $ TODO file for HandBrake <http://handbrake.m0k.org/> This is a roadmap for future releases of HandBrake. It has to be taken as an indication, as it may change as any time. -0.6.0 - + Make sure the deadlock at the end of the rip is gone - -Maybe in 0.6.0 - + New, up-to-date BeOS GUI [if I get some help] +0.6.x + + Up-to-date BeOS GUI 0.7.x + Homemade resampler @@ -18,6 +15,7 @@ Maybe in 0.6.0 + Subtitle support + Rip only a few chapters or rip X seconds from a given starting point + Allow to launch rips of several titles + + Drop libdvdplay Maybe in 0.7.x + MPEG audio decoding [if I have a DVD to test it] diff --git a/TRANSLATIONS b/TRANSLATIONS index 63e140253..4ca546b84 100644 --- a/TRANSLATIONS +++ b/TRANSLATIONS @@ -1,4 +1,4 @@ -$Id: TRANSLATIONS,v 1.1 2004/03/08 12:22:46 titer Exp $ +$Id: TRANSLATIONS,v 1.2 2004/03/22 18:20:30 titer Exp $ TRANSLATIONS file for HandBrake <http://handbrake.m0k.org/> @@ -16,5 +16,5 @@ your language. You can get it (for the latest release) at Edit it with Xcode, save it to HandBrake/macosx/i18n/xx.strings (where 'xx' are the two letters representing your language), then add 'xx' to -the language list in the Jamrules file (in the 'BuildOSXApp' action). +the language list in the Jamrules file. diff --git a/core/AviMux.c b/core/AviMux.c index e106f8383..444d77adc 100644 --- a/core/AviMux.c +++ b/core/AviMux.c @@ -1,4 +1,4 @@ -/* $Id: AviMux.c,v 1.16 2004/02/18 19:36:35 titer Exp $ +/* $Id: AviMux.c,v 1.17 2004/03/16 16:11:29 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -161,7 +161,11 @@ void HBAviMuxClose( HBAviMux ** _a ) a->die = 1; HBThreadClose( &a->thread ); +#ifndef HB_CYGWIN file = fopen( a->title->file, "r" ); +#else + file = fopen( a->title->file, "rb" ); +#endif if( file ) { fseek( file, 0, SEEK_END ); @@ -194,7 +198,11 @@ static void AviMuxThread( void * _a ) /* Open destination file */ HBLog( "HBAviMux: opening %s", title->file ); +#ifndef HB_CYGWIN if( !( a->file = fopen( title->file, "w" ) ) ) +#else + if( !( a->file = fopen( title->file, "wb" ) ) ) +#endif { HBLog( "HBAviMux: fopen() failed" ); HBErrorOccured( a->handle, HB_ERROR_AVI_WRITE ); diff --git a/core/Fifo.c b/core/Fifo.c index 7e7433e01..5c32c59a1 100644 --- a/core/Fifo.c +++ b/core/Fifo.c @@ -1,4 +1,4 @@ -/* $Id: Fifo.c,v 1.12 2004/03/04 17:35:52 titer Exp $ +/* $Id: Fifo.c,v 1.14 2004/03/17 10:35:06 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -22,43 +22,36 @@ HBBuffer * HBBufferInit( int size ) b->size = size; #if defined( HB_BEOS ) || defined( HB_LINUX ) - if( !( b->data = memalign( 16, size ) ) ) - { - HBLog( "HBBufferInit: malloc() failed, gonna crash" ); - free( b ); - return NULL; - } + b->data = memalign( 16, size ); #elif defined( HB_MACOSX ) - if( !( b->dataOrig = malloc( size + 15 ) ) ) + /* OS X's malloc returns 16-bytes aligned memory */ + b->data = malloc( size ); +#elif defined( HB_CYGWIN ) + b->dataOrig = malloc( size + 15 ); + b->data = b->dataOrig + 15; + b->data -= (long) b->data & 15; +#endif + + if( !b->data ) { HBLog( "HBBufferInit: malloc() failed, gonna crash" ); free( b ); return NULL; } - b->data = b->dataOrig + 15; - b->data -= (long) b->data & 15; -#elif defined( HB_CYGWIN ) - /* TODO */ -#endif - - b->position = 0.0; return b; } void HBBufferReAlloc( HBBuffer * b, int size ) { -#if defined( HB_BEOS ) || defined( HB_LINUX ) - b->data = realloc( b->data, size ); -#elif defined( HB_MACOSX ) - /* Ugly */ - uint8_t * new = malloc( size ); - memcpy( new, b->data, b->size ); - free( b->dataOrig ); - b->dataOrig = new; - b->data = new; + /* We don't care about alignment here, realloc is only used in the + AVI muxer anyway */ +#if defined( HB_BEOS ) || defined( HB_LINUX ) || defined( HB_MACOSX ) + b->data = realloc( b->data, size ); #elif defined( HB_CYGWIN ) - /* TODO */ + int alignment = b->data - b->dataOrig; + b->dataOrig = realloc( b->dataOrig, size + alignment ); + b->data = b->dataOrig + alignment; #endif b->alloc = size; @@ -72,12 +65,10 @@ void HBBufferClose( HBBuffer ** _b ) { HBBuffer * b = *_b; -#if defined( HB_BEOS ) || defined( HB_LINUX ) +#if defined( HB_BEOS ) || defined( HB_LINUX ) || defined( HB_MACOSX ) free( b->data ); -#elif defined( HB_MACOSX ) - free( b->dataOrig ); #elif defined( HB_CYGWIN ) - /* TODO */ + free( b->dataOrig ); #endif free( b ); diff --git a/core/Fifo.h b/core/Fifo.h index daca41d0e..264a7eeb3 100644 --- a/core/Fifo.h +++ b/core/Fifo.h @@ -1,4 +1,4 @@ -/* $Id: Fifo.h,v 1.11 2004/02/24 21:55:53 titer Exp $ +/* $Id: Fifo.h,v 1.13 2004/03/17 10:35:06 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -16,7 +16,7 @@ struct HBBuffer int alloc; int size; uint8_t * data; -#if defined( HB_MACOSX ) +#if defined( HB_CYGWIN ) uint8_t * dataOrig; #endif float position; diff --git a/core/HandBrake.c b/core/HandBrake.c index 5eca5a78d..9c88b37c6 100644 --- a/core/HandBrake.c +++ b/core/HandBrake.c @@ -1,4 +1,4 @@ -/* $Id: HandBrake.c,v 1.44 2004/03/08 11:32:48 titer Exp $ +/* $Id: HandBrake.c,v 1.47 2004/03/21 22:58:41 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -38,6 +38,7 @@ struct HBHandle float avgFrameRate; int remainingTime; + HBLock * lock; HBLock * pauseLock; volatile int die; HBThread * thread; @@ -92,6 +93,7 @@ HBHandle * HBInit( int debug, int cpuCount ) } } + h->lock = HBLockInit(); h->pauseLock = HBLockInit(); h->thread = HBThreadInit( "libhb", HandBrakeThread, h, HB_NORMAL_PRIORITY ); @@ -100,12 +102,16 @@ HBHandle * HBInit( int debug, int cpuCount ) void HBSetCallbacks( HBHandle * h, HBCallbacks callbacks ) { + HBLockLock( h->lock ); h->cb = callbacks; + HBLockUnlock( h->lock ); } void HBScanDVD( HBHandle * h, const char * dvd, int title ) { + HBLockLock( h->lock ); h->scan = HBScanInit( h, dvd, title ); + HBLockUnlock( h->lock ); } void HBStartRip( HBHandle * h, HBTitle * title ) @@ -113,6 +119,8 @@ void HBStartRip( HBHandle * h, HBTitle * title ) int i; HBAudio * audio; + HBLockLock( h->lock ); + h->beginDate = HBGetDate(); h->lastPosUpdate = 0; h->lastFpsUpdate = 0; @@ -122,7 +130,7 @@ void HBStartRip( HBHandle * h, HBTitle * title ) FixPictureSettings( title ); /* Video fifos */ - title->inFifo = HBFifoInit( 1024 ); + title->inFifo = HBFifoInit( 2048 ); title->rawFifo = HBFifoInit( 1 ); title->scaledFifo = HBFifoInit( 1 ); title->outFifo = HBFifoInit( 1 ); @@ -142,7 +150,7 @@ void HBStartRip( HBHandle * h, HBTitle * title ) audio = HBListItemAt( title->ripAudioList, i ); /* Audio fifos */ - audio->inFifo = HBFifoInit( 1024 ); + audio->inFifo = HBFifoInit( 2048 ); audio->rawFifo = HBFifoInit( 1 ); audio->outFifo = HBFifoInit( 4 ); /* At least 4 for Vorbis */ @@ -176,25 +184,33 @@ void HBStartRip( HBHandle * h, HBTitle * title ) } h->curTitle = title; + + HBLockUnlock( h->lock ); } void HBPauseRip( HBHandle * h ) { + HBLockLock( h->lock ); h->pauseDate = HBGetDate(); HBLockLock( h->pauseLock ); + HBLockUnlock( h->lock ); } void HBResumeRip( HBHandle * h ) { + HBLockLock( h->lock ); h->beginDate += HBGetDate() - h->pauseDate; h->lastPosUpdate += HBGetDate() - h->pauseDate; h->lastFpsUpdate += HBGetDate() - h->pauseDate; HBLockUnlock( h->pauseLock ); + HBLockUnlock( h->lock ); } void HBStopRip( HBHandle * h ) { + HBLockLock( h->lock ); h->stopRip = 1; + HBLockUnlock( h->lock ); } uint8_t * HBGetPreview( HBHandle * h, HBTitle * t, int picture ) @@ -401,6 +417,7 @@ void HBClose( HBHandle ** _h ) sprintf( command, "rm -f /tmp/HB.%d.*", h->pid ); system( command ); + HBLockClose( &h->lock ); HBLockClose( &h->pauseLock ); free( h ); @@ -421,8 +438,10 @@ void HBScanning( HBHandle * h, int title, int titleCount ) void HBScanDone( HBHandle * h, HBList * titleList ) { + HBLockLock( h->lock ); h->stopScan = 1; h->titleList = titleList; + HBLockUnlock( h->lock ); h->cb.scanDone( h->cb.data, titleList ); } @@ -433,7 +452,9 @@ int HBGetPid( HBHandle * h ) void HBDone( HBHandle * h ) { + HBLockLock( h->lock ); h->ripDone = 1; + HBLockUnlock( h->lock ); } void HBPosition( HBHandle * h, float position ) @@ -454,7 +475,9 @@ void HBPosition( HBHandle * h, float position ) } if( HBGetDate() - h->lastPosUpdate < 200000 ) + { return; + } h->lastPosUpdate = HBGetDate(); @@ -478,7 +501,9 @@ void HBPosition( HBHandle * h, float position ) void HBErrorOccured( HBHandle * h, int error ) { + HBLockLock( h->lock ); h->error = error; + HBLockUnlock( h->lock ); } /* Local functions */ @@ -490,17 +515,23 @@ static void HandBrakeThread( void * _h ) while( !h->die ) { + HBLockLock( h->lock ); + if( h->stopScan ) { HBScanClose( &h->scan ); h->stopScan = 0; + HBLockUnlock( h->lock ); + continue; } if( h->stopRip ) { _StopRip( h ); - h->cb.ripDone( h->cb.data, HB_CANCELED ); h->stopRip = 0; + HBLockUnlock( h->lock ); + h->cb.ripDone( h->cb.data, HB_CANCELED ); + continue; } if( h->ripDone ) @@ -528,23 +559,31 @@ static void HandBrakeThread( void * _h ) break; } } + if( ok ) + { + break; + } HBSnooze( 5000 ); } HBSnooze( 500000 ); _StopRip( h ); - h->cb.ripDone( h->cb.data, HB_SUCCESS ); - h->ripDone = 0; + HBLockUnlock( h->lock ); + h->cb.ripDone( h->cb.data, HB_SUCCESS ); + continue; } if( h->error ) { _StopRip( h ); - h->cb.ripDone( h->cb.data, h->error ); h->error = 0; + HBLockUnlock( h->lock ); + h->cb.ripDone( h->cb.data, h->error ); + continue; } + HBLockUnlock( h->lock ); HBSnooze( 10000 ); } } @@ -555,6 +594,11 @@ static void _StopRip( HBHandle * h ) HBAudio * audio; int i; + if( !title ) + { + return; + } + /* Stop input and work threads */ HBDVDReadClose( &title->dvdRead ); for( i = 0; i < h->cpuCount; i++ ) @@ -594,10 +638,8 @@ static void _StopRip( HBHandle * h ) HBFifoClose( &title->scaledFifo ); HBFifoClose( &title->outFifo ); - for( i = 0; i < HBListCount( title->ripAudioList ); i++ ) + while( ( audio = HBListItemAt( title->ripAudioList, 0 ) ) ) { - audio = HBListItemAt( title->ripAudioList, i ); - /* Audio work objects */ if( audio->inCodec == HB_CODEC_AC3 ) HBAc3DecClose( &audio->decoder ); diff --git a/core/LpcmDec.c b/core/LpcmDec.c index 53b56d8f2..e39db3ade 100644 --- a/core/LpcmDec.c +++ b/core/LpcmDec.c @@ -1,4 +1,4 @@ -/* $Id: LpcmDec.c,v 1.1 2004/03/08 11:32:48 titer Exp $ +/* $Id: LpcmDec.c,v 1.2 2004/03/08 15:04:40 fenrir Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -66,6 +66,16 @@ void HBLpcmDecClose( HBWork ** _l ) *_l = NULL; } +static int16_t Swap16( int16_t * p ) +{ + uint8_t tmp[2]; + + tmp[0] = ((uint8_t*)p)[1]; + tmp[1] = ((uint8_t*)p)[0]; + + return *(int16_t*)tmp; +} + static int LpcmDecWork( HBWork * w ) { HBLpcmDec * l = (HBLpcmDec*) w; @@ -137,8 +147,13 @@ static int LpcmDecWork( HBWork * w ) for( i = 0; i < samples; i++ ) { +#ifdef SYS_MACOSX l->rawBuffer->left[i] = (float) int16data[2*i] * l->sampleLevel; l->rawBuffer->right[i] = (float) int16data[2*i+1] * l->sampleLevel; +#else + l->rawBuffer->left[i] = (float) Swap16(&int16data[2*i]) * l->sampleLevel; + l->rawBuffer->right[i] = (float) Swap16(&int16data[2*i+1]) * l->sampleLevel; +#endif } HBBufferClose( &lpcmBuffer ); diff --git a/core/Thread.c b/core/Thread.c index b5635116e..8c63b2423 100644 --- a/core/Thread.c +++ b/core/Thread.c @@ -1,4 +1,4 @@ -/* $Id: Thread.c,v 1.12 2004/03/04 17:57:17 titer Exp $ +/* $Id: Thread.c,v 1.13 2004/03/16 16:14:03 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -164,7 +164,7 @@ HBCond * HBCondInit() #elif defined( HB_MACOSX ) || defined( HB_LINUX ) pthread_cond_init( &c->cond, NULL ); #elif defined( HB_CYGWIN ) - /* TODO */ + c->event = CreateEvent( NULL, FALSE, FALSE, NULL ); #endif return c; @@ -178,7 +178,7 @@ void HBCondClose( HBCond ** _c ) #elif defined( HB_MACOSX ) || defined( HB_LINUX ) pthread_cond_destroy( &c->cond ); #elif defined( HB_CYGWIN ) - /* TODO */ + CloseHandle( c->event ); #endif free( c ); diff --git a/core/Thread.h b/core/Thread.h index 7f975d84b..bf343214d 100644 --- a/core/Thread.h +++ b/core/Thread.h @@ -1,4 +1,4 @@ -/* $Id: Thread.h,v 1.9 2004/02/19 17:59:13 titer Exp $ +/* $Id: Thread.h,v 1.10 2004/03/16 16:14:03 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -93,11 +93,11 @@ static inline void HBLockUnlock( HBLock * l ) struct HBCond { #if defined( HB_BEOS ) - int thread; + int thread; #elif defined( HB_MACOSX ) || defined( HB_LINUX ) - pthread_cond_t cond; + pthread_cond_t cond; #elif defined( HB_CYGWIN ) - /* TODO */ + HANDLE event; #endif }; @@ -113,7 +113,8 @@ static inline void HBCondWait( HBCond * c, HBLock * lock ) #elif defined( HB_MACOSX ) || defined( HB_LINUX ) pthread_cond_wait( &c->cond, &lock->mutex ); #elif defined( HB_CYGWIN ) - /* TODO */ + SignalObjectAndWait( lock->mutex, c->event, INFINITE, FALSE ); + WaitForSingleObject( lock->mutex, INFINITE ); #endif } @@ -136,7 +137,7 @@ static inline void HBCondSignal( HBCond * c ) #elif defined( HB_MACOSX ) || defined( HB_LINUX ) pthread_cond_signal( &c->cond ); #elif defined( HB_CYGWIN ) - /* TODO */ + PulseEvent( c->event ); #endif } diff --git a/doc/faq.txt b/doc/faq.txt index 17c4a21d3..049dd5780 100644 --- a/doc/faq.txt +++ b/doc/faq.txt @@ -1,4 +1,4 @@ -$Id: faq.txt,v 1.11 2004/03/03 16:53:44 titer Exp $ +$Id: faq.txt,v 1.12 2004/03/16 15:57:03 titer Exp $ <h2>HandBrake FAQ</h2> @@ -66,9 +66,10 @@ and IFO files), HandBrake won't open single VOB files.</p> <h4>1.4. Why does HandBrake get stuck at 100%?</h4> <p>When ripping to an mp4 file, HandBrake (actually libmp4v2) optimizes the file and makes it compliant at the end of the rip. This might take -some time with big files. Also, make sure you have enough space -available on your hard drive before you start (twice the asked size) or -you might end with an unreadable file.</p> +some time with big files (usually, a few minutes for a 700 MB file). +Also, make sure you have enough space available on your hard drive +before you start (twice the asked size) or you might end with an +unreadable file.</p> <h3>2. Features</h3> diff --git a/gtk2/callbacks.c b/gtk2/callbacks.c index 04a140678..82373429a 100644 --- a/gtk2/callbacks.c +++ b/gtk2/callbacks.c @@ -478,15 +478,15 @@ void on_button_start_clicked( GtkButton *button, audio->outBitrate = i_ab; if( title->mux == HB_MUX_AVI ) { - audio->codec = HB_CODEC_MP3; + audio->outCodec = HB_CODEC_MP3; } else if( title->mux == HB_MUX_MP4 ) { - audio->codec = HB_CODEC_AAC; + audio->outCodec = HB_CODEC_AAC; } else if( title->mux == HB_MUX_OGM ) { - audio->codec = HB_CODEC_VORBIS; + audio->outCodec = HB_CODEC_VORBIS; } HBListAdd( title->ripAudioList, audio ); } @@ -499,15 +499,15 @@ void on_button_start_clicked( GtkButton *button, audio->outBitrate = i_ab; if( title->mux == HB_MUX_AVI ) { - audio->codec = HB_CODEC_MP3; + audio->outCodec = HB_CODEC_MP3; } else if( title->mux == HB_MUX_MP4 ) { - audio->codec = HB_CODEC_AAC; + audio->outCodec = HB_CODEC_AAC; } else if( title->mux == HB_MUX_OGM ) { - audio->codec = HB_CODEC_VORBIS; + audio->outCodec = HB_CODEC_VORBIS; } HBListAdd( title->ripAudioList, audio ); } diff --git a/macosx/Controller.mm b/macosx/Controller.mm index 1a3655d4b..8f6e94d2e 100644 --- a/macosx/Controller.mm +++ b/macosx/Controller.mm @@ -1,4 +1,4 @@ -/* $Id: Controller.mm,v 1.29 2004/03/08 12:39:49 titer Exp $ +/* $Id: Controller.mm,v 1.30 2004/03/12 14:22:19 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -756,26 +756,18 @@ static void _RipDone( void * data, int result ); [fRipEncoderPopUp setEnabled: NO]; [fRipVideoMatrix setEnabled: NO]; [fRipTwoPassCheck setEnabled: NO]; - - [fRipAudBitPopUp setEnabled: YES]; } else if( format == 3 ) { [fRipEncoderPopUp setEnabled: YES]; [fRipVideoMatrix setEnabled: YES]; [fRipTwoPassCheck setEnabled: YES]; - -#if 0 - /* Can't set Vorbis bitrate */ - [fRipAudBitPopUp setEnabled: NO]; -#endif } else { [fRipEncoderPopUp setEnabled: YES]; [fRipVideoMatrix setEnabled: YES]; [fRipTwoPassCheck setEnabled: YES]; - [fRipAudBitPopUp setEnabled: YES]; } [self VideoMatrixChanged: self]; } diff --git a/macosx/English.lproj/InfoPlist.strings b/macosx/English.lproj/InfoPlist.strings Binary files differindex 8040503df..0807e3bbc 100644 --- a/macosx/English.lproj/InfoPlist.strings +++ b/macosx/English.lproj/InfoPlist.strings diff --git a/macosx/HandBrake.xcode/project.pbxproj b/macosx/HandBrake.xcode/project.pbxproj index 9c1b883bd..41b955ca1 100644 --- a/macosx/HandBrake.xcode/project.pbxproj +++ b/macosx/HandBrake.xcode/project.pbxproj @@ -301,7 +301,7 @@ <key>CFBundleExecutable</key> <string>HandBrake</string> <key>CFBundleGetInfoString</key> - <string>HandBrake 0.6.0-test3 - By Eric Petit <[email protected]></string> + <string>HandBrake 0.6.0 - By Eric Petit <[email protected]></string> <key>CFBundleIconFile</key> <string>HandBrake.icns</string> <key>CFBundleIdentifier</key> @@ -313,11 +313,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>0.6.0-test3</string> + <string>0.6.0</string> <key>CFBundleSignature</key> <string>HB##</string> <key>CFBundleVersion</key> - <string>0.6.0-test3</string> + <string>0.6.0</string> <key>NSMainNibFile</key> <string>MainMenu</string> <key>NSPrincipalClass</key> diff --git a/macosx/i18n/German.strings b/macosx/i18n/de.strings Binary files differindex 7ab175789..7ab175789 100644 --- a/macosx/i18n/German.strings +++ b/macosx/i18n/de.strings diff --git a/macosx/i18n/es.strings b/macosx/i18n/es.strings Binary files differnew file mode 100644 index 000000000..1bbce67e8 --- /dev/null +++ b/macosx/i18n/es.strings diff --git a/macosx/i18n/French.strings b/macosx/i18n/fr.strings Binary files differindex c1218f28c..c1218f28c 100644 --- a/macosx/i18n/French.strings +++ b/macosx/i18n/fr.strings diff --git a/macosx/i18n/it.strings b/macosx/i18n/it.strings Binary files differindex 26587fa3a..115eab928 100644 --- a/macosx/i18n/it.strings +++ b/macosx/i18n/it.strings diff --git a/macosx/i18n/pt.strings b/macosx/i18n/pt.strings new file mode 100644 index 000000000..a9048acdf --- /dev/null +++ b/macosx/i18n/pt.strings @@ -0,0 +1,183 @@ +/* No comment provided by engineer. */ +"2-pass encoding" = "Codificar em 2 passagens"; + +/* No comment provided by engineer. */ +"Audio" = "Audio"; + +/* No comment provided by engineer. */ +"Autocrop" = "Cortado"; + +/* No comment provided by engineer. */ +"AVI file / H264 video / MP3 audio" = "AVI file / H264 video / MP3 audio"; + +/* No comment provided by engineer. */ +"AVI file / MPEG-4 video / MP3 audio" = "AVI file / MPEG-4 video / MP3 audio"; + +/* No comment provided by engineer. */ +"Bitrate" = "Bitrate"; + +/* No comment provided by engineer. */ +"Bitrate (kbps)" = "Bitrate (kbps)"; + +/* No comment provided by engineer. */ +"Bottom cropping" = "Cortado do final"; + +/* No comment provided by engineer. */ +"Browse" = "Visualizar"; + +/* No comment provided by engineer. */ +"Cancel" = "Cancelar"; + +/* No comment provided by engineer. */ +"Cancel - Are you sure?" = "Cancelar - Tem a certeza?"; + +/* No comment provided by engineer. */ +"Canceled." = "Cancelado."; + +/* No comment provided by engineer. */ +"Close" = "Fechar"; + +/* No comment provided by engineer. */ +"Crop & Scale..." = "Cortar e Redimensionar..."; + +/* No comment provided by engineer. */ +"Custom (kbps)" = " Normal em (kbps)"; + +/* No comment provided by engineer. */ +"Deinterlace picture" = "Deinterlace imagem"; + +/* No comment provided by engineer. */ +"Detected volume" = "Volume detectado"; + +/* No comment provided by engineer. */ +"Do you want to overwrite %@?" = "Quer reescrever %@?"; + +/* No comment provided by engineer. */ +"DVD Folder" = "Pasta do DVD"; + +/* No comment provided by engineer. */ +"DVD title" = "Titulo do DVD"; + +/* No comment provided by engineer. */ +"Encoding won't be recoverable." = "A codificacao nao pode ser recuperada."; + +/* No comment provided by engineer. */ +"Encoding: %.2f %% (pass %d of %d)" = "Codificao em progresso: %.2f %% (passagem %d of %d)"; + +/* No comment provided by engineer. */ +"File" = "Ficheiro"; + +/* No comment provided by engineer. */ +"File already exists" = "O ficheiro ja existe"; + +/* No comment provided by engineer. */ +"Final size: %dx%d" = "Tamanho do ficheiro: %dx%d"; + +/* No comment provided by engineer. */ +"General" = "Geral"; + +/* No comment provided by engineer. */ +"Invalid secondary language" = "Secunda lingua invalida"; + +/* No comment provided by engineer. */ +"Invalid video bitrate" = "Video bitrate invalido"; + +/* No comment provided by engineer. */ +"Invalid volume, try again" = "volume invalido, tente novamente"; + +/* No comment provided by engineer. */ +"Language 1" = "Lingua 1"; + +/* No comment provided by engineer. */ +"Language 2 (optional)" = "Lingua 2 (optional)"; + +/* No comment provided by engineer. */ +"Left cropping" = "Cortado a esquerda"; + +/* No comment provided by engineer. */ +"MP4 file / MPEG-4 video / AAC audio" = "MP4 file / MPEG-4 video / AAC audio"; + +/* No comment provided by engineer. */ +"MPEG-4 encoder" = "MPEG-4 encoder"; + +/* No comment provided by engineer. */ +"Next" = "Proximo"; + +/* No comment provided by engineer. */ +"No" = "Nao"; + +/* No comment provided by engineer. */ +"None" = "Nao existente"; + +/* No comment provided by engineer. */ +"OGM file / MPEG-4 video / Vorbis audio" = "OGM file / MPEG-4 video / Vorbis audio"; + +/* No comment provided by engineer. */ +"Ooops" = "Bolas"; + +/* No comment provided by engineer. */ +"Open" = "Aberto"; + +/* No comment provided by engineer. */ +"Opening device..." = "Abertura em curso..."; + +/* No comment provided by engineer. */ +"Output format" = "Formato de Output"; + +/* No comment provided by engineer. */ +"Pause" = "Pausa"; + +/* No comment provided by engineer. */ +"Picture width" = "Tamanho da figura"; + +/* No comment provided by engineer. */ +"Previous" = "Anterior"; + +/* No comment provided by engineer. */ +"Resume" = "Resumo"; + +/* No comment provided by engineer. */ +"Right cropping" = "Cortado a direita"; + +/* No comment provided by engineer. */ +"Rip" = "Rip"; + +/* No comment provided by engineer. */ +"Rip completed." = "Rip completado."; + +/* No comment provided by engineer. */ +"Scanning title %d of %d..." = "Exminar o titulo %d of %d..."; + +/* No comment provided by engineer. */ +"Select a DVD:" = "Selecione o DVD:"; + +/* No comment provided by engineer. */ +"Speed: %.2f fps (avg %.2f fps), %02dh%02dm%02ds remaining" = "Velocidade: %.2f fps (avg %.2f fps), %02dh%02dm%02ds restante"; + +/* No comment provided by engineer. */ +"Target size (MB)" = "Tamanho a atingir (MB)"; + +/* No comment provided by engineer. */ +"Top cropping" = "Cortado ao topo"; + +/* No comment provided by engineer. */ +"Useless OpenGL effects" = "Efeitos inuteis do OpenGL"; + +/* No comment provided by engineer. */ +"Video" = "Video"; + +/* No comment provided by engineer. */ +"Video bitrate is too high." = "Video bitrate e muito alto"; + +/* No comment provided by engineer. */ +"Video bitrate is too low." = "Video bitrate e muito baixo."; + +/* No comment provided by engineer. */ +"Welcome to HandBrake" = "Bemvindo ao HandBrake"; + +/* No comment provided by engineer. */ +"Yes" = "Sim"; + +/* No comment provided by engineer. */ +"You can't encode the same audio track twice." = "Nao se pode codificar a mesma facha de audio duas vezes."; + diff --git a/test/test.c b/test/test.c index 8dc6732b3..67b9450a9 100644 --- a/test/test.c +++ b/test/test.c @@ -1,4 +1,4 @@ -/* $Id: test.c,v 1.27 2004/03/08 11:32:50 titer Exp $ +/* $Id: test.c,v 1.28 2004/03/22 19:18:57 titer Exp $ This file is part of the HandBrake source code. Homepage: <http://handbrake.m0k.org/>. @@ -473,8 +473,6 @@ static void ScanDone( void * data, HBList * titleList ) audio->outBitrate = abitrate; audio->outCodec = acodec; HBListAdd( title->ripAudioList, audio ); - - tmp++; } } if( size ) |