Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/quicktime/apple/quicktime_export.c')
-rw-r--r--source/blender/quicktime/apple/quicktime_export.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/source/blender/quicktime/apple/quicktime_export.c b/source/blender/quicktime/apple/quicktime_export.c
index de8c4179132..a2727963032 100644
--- a/source/blender/quicktime/apple/quicktime_export.c
+++ b/source/blender/quicktime/apple/quicktime_export.c
@@ -317,7 +317,7 @@ static void QT_StartAddVideoSamplesToMedia (const Rect *trackFrame, int rectx, i
k32ARGBPixelFormat,
trackFrame,
NULL, NULL, 0,
- (unsigned char *)qtexport->ibuf->rect,
+ (Ptr)qtexport->ibuf->rect,
rectx * 4 );
CheckError (err, "NewGWorldFromPtr error");
@@ -438,7 +438,7 @@ void makeqtstring (RenderData *rd, char *string) {
}
-void start_qt(struct RenderData *rd, int rectx, int recty) {
+void start_qt(struct Scene *scene, struct RenderData *rd, int rectx, int recty) {
OSErr err = noErr;
char name[2048];
@@ -460,7 +460,7 @@ void start_qt(struct RenderData *rd, int rectx, int recty) {
qtdata = MEM_callocN(sizeof(QuicktimeComponentData), "QuicktimeCodecDataExt");
- if(rd->qtcodecdata == NULL && rd->qtcodecdata->cdParms == NULL) {
+ if(rd->qtcodecdata == NULL || rd->qtcodecdata->cdParms == NULL) {
get_qtcodec_settings(rd);
} else {
qtdata->theComponent = OpenDefaultComponent(StandardCompressionType, StandardCompressionSubType);
@@ -484,7 +484,7 @@ void start_qt(struct RenderData *rd, int rectx, int recty) {
/* do something? */
}
close(myFile);
- err = FSPathMakeRef(theFullPath, &myRef, 0);
+ err = FSPathMakeRef((const UInt8 *)theFullPath, &myRef, 0);
CheckError(err, "FsPathMakeRef error");
err = FSGetCatalogInfo(&myRef, kFSCatInfoNone, NULL, NULL, &qtexport->theSpec, NULL);
CheckError(err, "FsGetCatalogInfoRef error");
@@ -574,10 +574,13 @@ static void check_renderbutton_framerate(RenderData *rd)
if( (rd->frs_sec == 24 || rd->frs_sec == 30 || rd->frs_sec == 60) &&
(qtdata->gTemporalSettings.frameRate == 1571553 ||
qtdata->gTemporalSettings.frameRate == 1964113 ||
- qtdata->gTemporalSettings.frameRate == 3928227)) {;} else
- qtdata->gTemporalSettings.frameRate =
- (rd->frs_sec << 16) / rd->frs_sec_base ;
-
+ qtdata->gTemporalSettings.frameRate == 3928227)) {;}
+ else {
+ if (rd->frs_sec_base > 0)
+ qtdata->gTemporalSettings.frameRate =
+ (rd->frs_sec << 16) / rd->frs_sec_base ;
+ }
+
err = SCSetInfo(qtdata->theComponent, scTemporalSettingsType, &qtdata->gTemporalSettings);
CheckError( err, "SCSetInfo error" );
@@ -634,7 +637,7 @@ int get_qtcodec_settings(RenderData *rd)
check_renderbutton_framerate(rd);
- // put up the dialog box
+ // put up the dialog box - it needs to be called from the main thread
err = SCRequestSequenceSettings(qtdata->theComponent);
if (err == scUserCancelled) {