Revision: 28242
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28242
Author: damien78
Date: 2010-04-17 10:33:42 +0200 (Sat, 17 Apr 2010)
Log Message:
-----------
Quicktime audio export: force AAC sample rate to be <=48kHz to avoid later
codec error + potential quicktime mem leaks fixes
AAC Codec does not handle sample rates above 48kHz.
Modified Paths:
--------------
trunk/blender/source/blender/quicktime/apple/qtkit_export.m
trunk/blender/source/blender/quicktime/apple/qtkit_import.m
Modified: trunk/blender/source/blender/quicktime/apple/qtkit_export.m
===================================================================
--- trunk/blender/source/blender/quicktime/apple/qtkit_export.m 2010-04-17
07:04:09 UTC (rev 28241)
+++ trunk/blender/source/blender/quicktime/apple/qtkit_export.m 2010-04-17
08:33:42 UTC (rev 28242)
@@ -275,7 +275,7 @@
*ioNumberDataPackets = AUDIOOUTPUTBUFFERSIZE /
qtexport->audioInputFormat.mBytesPerPacket;
if ((qtexport->audioTotalExportedFrames + *ioNumberDataPackets) >
qtexport->audioLastFrame)
- *ioNumberDataPackets += qtexport->audioLastFrame -
qtexport->audioTotalExportedFrames;
+ *ioNumberDataPackets = (qtexport->audioLastFrame -
qtexport->audioTotalExportedFrames) /
qtexport->audioInputFormat.mFramesPerPacket;
qtexport->audioTotalExportedFrames += *ioNumberDataPackets;
@@ -379,7 +379,7 @@
break;
}
qtexport->audioInputFormat.mBytesPerFrame =
qtexport->audioInputFormat.mChannelsPerFrame *
qtexport->audioInputFormat.mBitsPerChannel / 8;
- qtexport->audioInputFormat.mFramesPerPacket = 1;
+ qtexport->audioInputFormat.mFramesPerPacket =
1; /*If not ==1, then need to check input callback for "rounding" issues"*/
qtexport->audioInputFormat.mBytesPerPacket =
qtexport->audioInputFormat.mBytesPerFrame;
qtexport->audioInputFormat.mFormatFlags |=
kLinearPCMFormatFlagIsPacked;
@@ -399,6 +399,9 @@
switch (rd->qtcodecsettings.audiocodecType) {
case kAudioFormatMPEG4AAC:
qtexport->audioOutputFormat.mFormatFlags = kMPEG4Object_AAC_Main;
+ /* AAC codec does not handle
sample rates above 48kHz, force this limit instead of getting an error
afterwards */
+ if
(qtexport->audioOutputFormat.mSampleRate > 48000)
qtexport->audioOutputFormat.mSampleRate = 48000;
+ break;
case kAudioFormatAppleLossless:
switch (U.audioformat) {
case AUD_FORMAT_S16:
@@ -531,7 +534,6 @@
[QTMovie exitQTKitOnThread];
} else {
[qtexport->movie retain];
- [qtexport->filename retain];
[qtexport->movie setAttribute:[NSNumber
numberWithBool:YES] forKey:QTMovieEditableAttribute];
[qtexport->movie setAttribute:@"Made with Blender"
forKey:QTMovieCopyrightAttribute];
@@ -736,6 +738,7 @@
fileManager = [[NSFileManager alloc] init];
[fileManager removeItemAtPath:qtexport->audioFileName
error:&error];
[fileManager
removeItemAtPath:qtexport->videoTempFileName error:&error];
+ [fileManager release];
}
else {
/* Flush update of the movie file */
Modified: trunk/blender/source/blender/quicktime/apple/qtkit_import.m
===================================================================
--- trunk/blender/source/blender/quicktime/apple/qtkit_import.m 2010-04-17
07:04:09 UTC (rev 28241)
+++ trunk/blender/source/blender/quicktime/apple/qtkit_import.m 2010-04-17
08:33:42 UTC (rev 28242)
@@ -198,7 +198,6 @@
rasterRGB = (uchar*)[blBitmapFormatImageRGB bitmapData];
if (rasterRGB == NULL) {
- [bitmapImage release];
[blBitmapFormatImageRGB release];
return NULL;
}
@@ -220,7 +219,6 @@
rasterRGBA = (uchar*)[blBitmapFormatImageRGBA bitmapData];
if (rasterRGBA == NULL) {
- [bitmapImage release];
[blBitmapFormatImageRGB release];
[blBitmapFormatImageRGBA release];
return NULL;
@@ -390,13 +388,14 @@
BLI_testextensie(name, ".mp3")) return 0;
- image = [NSImage alloc];
- if ([image initWithContentsOfFile:[NSString
stringWithUTF8String:name]])
+ image = [[NSImage alloc] initWithContentsOfFile:[NSString
stringWithUTF8String:name]];
+ if (image) {
+ [image release];
result = true;
+ }
else
result = false;
- [image release];
[pool drain];
return result;
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs