1cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi/* 2cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * Copyright (C) 2011 The Android Open Source Project 3cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * 4cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * Licensed under the Apache License, Version 2.0 (the "License"); 5cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * you may not use this file except in compliance with the License. 6cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * You may obtain a copy of the License at 7cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * 8cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * http://www.apache.org/licenses/LICENSE-2.0 9cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * 10cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * Unless required by applicable law or agreed to in writing, software 11cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * distributed under the License is distributed on an "AS IS" BASIS, 12cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * See the License for the specific language governing permissions and 14cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi * limitations under the License. 15cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi */ 16cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 17cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 18cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <VideoEditorClasses.h> 19cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <VideoEditorJava.h> 20cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <VideoEditorLogging.h> 21cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <VideoEditorOsal.h> 22cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 23cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargiextern "C" { 24cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4OSA_Clock.h> 25cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4OSA_CharStar.h> 26cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4OSA_FileCommon.h> 27cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4OSA_FileReader.h> 28cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4OSA_FileWriter.h> 29cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4OSA_Memory.h> 30cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4OSA_Debug.h> 31cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4OSA_Thread.h> 32cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4VSS3GPP_API.h> 33cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4xVSS_API.h> 34cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4VSS3GPP_ErrorCodes.h> 35cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4MCS_ErrorCodes.h> 36cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4READER_Common.h> 37cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4WRITER_common.h> 38cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4DECODER_Common.h> 39cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 40cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 41cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#define VIDEOEDIT_PROP_JAVA_RESULT_STRING_MAX (128) 42cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 43cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#define VIDEOEDIT_JAVA__RESULT_STRING_MAX (128) 44cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 45cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(AudioEffect) 46cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 47cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NONE", M4VSS3GPP_kAudioEffectType_None), 48cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FADE_IN", M4VSS3GPP_kAudioEffectType_FadeIn), 49cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FADE_OUT", M4VSS3GPP_kAudioEffectType_FadeOut) 50cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 51cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 52cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(AudioEffect, AUDIO_EFFECT_CLASS_NAME, M4OSA_NULL, M4OSA_NULL) 53cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 54cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 55cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(AudioFormat) 56cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 57cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NO_AUDIO", M4VIDEOEDITING_kNoneAudio), 58cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("AMR_NB", M4VIDEOEDITING_kAMR_NB), 59cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("AAC", M4VIDEOEDITING_kAAC), 60cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("AAC_PLUS", M4VIDEOEDITING_kAACplus), 61cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ENHANCED_AAC_PLUS", M4VIDEOEDITING_keAACplus), 62cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("MP3", M4VIDEOEDITING_kMP3), 63cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("EVRC", M4VIDEOEDITING_kEVRC), 64cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("PCM", M4VIDEOEDITING_kPCM), 65cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NULL_AUDIO", M4VIDEOEDITING_kNullAudio), 66cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("UNSUPPORTED_AUDIO", M4VIDEOEDITING_kUnsupportedAudio) 67cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 68cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 69cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(AudioFormat, AUDIO_FORMAT_CLASS_NAME, M4OSA_NULL, M4OSA_NULL) 70cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 71cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 72cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(AudioSamplingFrequency) 73cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 74cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FREQ_DEFAULT", M4VIDEOEDITING_kDefault_ASF), 75cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FREQ_8000", M4VIDEOEDITING_k8000_ASF), 76cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FREQ_16000", M4VIDEOEDITING_k16000_ASF), 77cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FREQ_22050", M4VIDEOEDITING_k22050_ASF), 78cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FREQ_24000", M4VIDEOEDITING_k24000_ASF), 79cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FREQ_32000", M4VIDEOEDITING_k32000_ASF), 80cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FREQ_44100", M4VIDEOEDITING_k44100_ASF), 81cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FREQ_48000", M4VIDEOEDITING_k48000_ASF) 82cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 83cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 84cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(AudioSamplingFrequency,AUDIO_SAMPLING_FREQUENCY_CLASS_NAME, 85cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_NULL, M4OSA_NULL) 86cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 87cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 88cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(AudioTransition) 89cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 90cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NONE", M4VSS3GPP_kAudioTransitionType_None), 91cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("CROSS_FADE", M4VSS3GPP_kAudioTransitionType_CrossFade) 92cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 93cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 94cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(AudioTransition, AUDIO_TRANSITION_CLASS_NAME, M4OSA_NULL, 95cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_NULL) 96cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 97cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 98cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargistatic const char* 99cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getUnknownBitrateString(int bitrate) 100cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 101cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi static char string[VIDEOEDIT_JAVA__RESULT_STRING_MAX] = ""; 102cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 103cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_chrSPrintf((M4OSA_Char *)string, sizeof(string) - 1, (M4OSA_Char*)"%d", bitrate); 104cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 105cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the bitrate string. 106cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi return(string); 107cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 108cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 109cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(Bitrate) 110cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 111cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("VARIABLE", M4VIDEOEDITING_kVARIABLE_KBPS), 112cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("UNDEFINED", M4VIDEOEDITING_kUndefinedBitrate), 113cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_9_2_KBPS", M4VIDEOEDITING_k9_2_KBPS), 114cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_12_2_KBPS", M4VIDEOEDITING_k12_2_KBPS), 115cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_16_KBPS", M4VIDEOEDITING_k16_KBPS), 116cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_24_KBPS", M4VIDEOEDITING_k24_KBPS), 117cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_32_KBPS", M4VIDEOEDITING_k32_KBPS), 118cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_48_KBPS", M4VIDEOEDITING_k48_KBPS), 119cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_64_KBPS", M4VIDEOEDITING_k64_KBPS), 120cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_96_KBPS", M4VIDEOEDITING_k96_KBPS), 121cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_128_KBPS", M4VIDEOEDITING_k128_KBPS), 122cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_192_KBPS", M4VIDEOEDITING_k192_KBPS), 123cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_256_KBPS", M4VIDEOEDITING_k256_KBPS), 124cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_288_KBPS", M4VIDEOEDITING_k288_KBPS), 125cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_384_KBPS", M4VIDEOEDITING_k384_KBPS), 126cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_512_KBPS", M4VIDEOEDITING_k512_KBPS), 127cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_800_KBPS", M4VIDEOEDITING_k800_KBPS), 128cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi/*+ New Encoder bitrates */ 129cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_2_MBPS", M4VIDEOEDITING_k2_MBPS), 130cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_5_MBPS", M4VIDEOEDITING_k5_MBPS), 131cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BR_8_MBPS", M4VIDEOEDITING_k8_MBPS) 132cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi/*- New Encoder bitrates */ 133cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 134cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 135cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(Bitrate, BITRATE_CLASS_NAME, 136cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_getUnknownBitrateString, videoEditClasses_getUnknownBitrateString) 137cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 138cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 139cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(ClipType) 140cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 141cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("THREE_GPP", M4VIDEOEDITING_kFileType_3GPP), 142cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("MP4", M4VIDEOEDITING_kFileType_MP4), 143cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("AMR", M4VIDEOEDITING_kFileType_AMR), 144cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("MP3", M4VIDEOEDITING_kFileType_MP3), 145cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("PCM", M4VIDEOEDITING_kFileType_PCM), 146cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("JPG", M4VIDEOEDITING_kFileType_JPG), 147d7ed5992634596a53f32f66277de6d287ffb752fShailendra VIDEOEDIT_JAVA_CONSTANT_INIT("PNG", M4VIDEOEDITING_kFileType_PNG), 1484e7032052137345450bfd2b7a4a9a05ecde17076Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("M4V", M4VIDEOEDITING_kFileType_M4V), 149cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("UNSUPPORTED", M4VIDEOEDITING_kFileType_Unsupported) 150cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 151cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 152cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(ClipType, FILE_TYPE_CLASS_NAME, M4OSA_NULL, M4OSA_NULL) 153cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 154cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 155cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(Engine) 156cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 157cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("TASK_LOADING_SETTINGS", TASK_LOADING_SETTINGS), 158cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("TASK_ENCODING", TASK_ENCODING) 159cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 160cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 161cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(Engine, MANUAL_EDIT_ENGINE_CLASS_NAME, M4OSA_NULL, 162cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_NULL) 163cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 164cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 165cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargistatic const char* 166cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getUnknownErrorName(int error) 167cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 168cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi static char string[VIDEOEDIT_JAVA__RESULT_STRING_MAX] = "ERR_INTERNAL"; 169cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 170cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Format the unknown error string. 171cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_chrSPrintf((M4OSA_Char *)string, sizeof(string) - 1, (M4OSA_Char*)"ERR_INTERNAL(%s)", 172cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_getResultString(error)); 173cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 174cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the error string. 175cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi return(string); 176cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 177cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 178cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargistatic const char* 179cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getUnknownErrorString(int error) 180cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 181cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the result string. 182cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi return(videoEditOsal_getResultString(error)); 183cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 184cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 185cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(Error) 186cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 187cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4OSA_Clock.h 188cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("WAR_TIMESCALE_TOO_BIG", \ 189cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4WAR_TIMESCALE_TOO_BIG ), 190cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_CLOCK_BAD_REF_YEAR", \ 191cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4ERR_CLOCK_BAD_REF_YEAR ), 192cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_FILE_NOT_FOUND", \ 193cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4ERR_FILE_NOT_FOUND ), 194cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("WAR_TRANSCODING_NECESSARY", \ 195cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_WAR_TRANSCODING_NECESSARY ), 196cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("WAR_MAX_OUTPUT_SIZE_EXCEEDED", \ 197cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_WAR_OUTPUTFILESIZE_EXCEED ), 198cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_BUFFER_OUT_TOO_SMALL", \ 199cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSSWAR_BUFFER_OUT_TOO_SMALL ), 200cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_NOMORE_SPACE_FOR_FILE", \ 201cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSSERR_NO_MORE_SPACE ), 202cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_FILE_TYPE", \ 203cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_FILE_TYPE ), 204cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_EFFECT_KIND", \ 205cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_EFFECT_KIND ), 206cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_VIDEO_EFFECT_TYPE", \ 207cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_VIDEO_EFFECT_TYPE ), 208cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_AUDIO_EFFECT_TYPE", \ 209cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_AUDIO_EFFECT_TYPE ), 210cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_VIDEO_TRANSITION_TYPE", \ 211cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_VIDEO_TRANSITION_TYPE ), 212cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_AUDIO_TRANSITION_TYPE", \ 213cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_AUDIO_TRANSITION_TYPE ), 214cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_VIDEO_ENCODING_FRAME_RATE", \ 215cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_VIDEO_ENCODING_FRAME_RATE ), 216cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_EXTERNAL_EFFECT_NULL", \ 217cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_EXTERNAL_EFFECT_NULL ), 218cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_EXTERNAL_TRANSITION_NULL", \ 219cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_EXTERNAL_TRANSITION_NULL ), 220cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_BEGIN_CUT_LARGER_THAN_DURATION", \ 221cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_BEGIN_CUT_LARGER_THAN_DURATION ), 222cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_BEGIN_CUT_LARGER_THAN_END_CUT", \ 223cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_BEGIN_CUT_LARGER_THAN_END_CUT ), 224cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_OVERLAPPING_TRANSITIONS", \ 225cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_OVERLAPPING_TRANSITIONS ), 226cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_ANALYSIS_DATA_SIZE_TOO_SMALL 227cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_ANALYSIS_DATA_SIZE_TOO_SMALL", \ 228cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_ANALYSIS_DATA_SIZE_TOO_SMALL ), 229cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 230cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_3GPP_FILE", \ 231cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_3GPP_FILE ), 232cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_UNSUPPORTED_INPUT_VIDEO_FORMAT", \ 233cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_UNSUPPORTED_INPUT_VIDEO_FORMAT ), 234cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_UNSUPPORTED_INPUT_AUDIO_FORMAT", \ 235cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_UNSUPPORTED_INPUT_AUDIO_FORMAT ), 236cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_AMR_EDITING_UNSUPPORTED", \ 237cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_AMR_EDITING_UNSUPPORTED ), 238cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INPUT_VIDEO_AU_TOO_LARGE", \ 239cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INPUT_VIDEO_AU_TOO_LARGE ), 240cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INPUT_AUDIO_AU_TOO_LARGE", \ 241cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INPUT_AUDIO_AU_TOO_LARGE ), 242cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INPUT_AUDIO_CORRUPTED_AU", \ 243cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INPUT_AUDIO_CORRUPTED_AU ), 244cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_INPUT_AUDIO_CORRUPTED_AMR_AU 245cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INPUT_AUDIO_CORRUPTED_AU", \ 246cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INPUT_AUDIO_CORRUPTED_AMR_AU ), 247cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 248cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_ENCODER_ACCES_UNIT_ERROR", \ 249cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_ENCODER_ACCES_UNIT_ERROR ), 250cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_EDITING_UNSUPPORTED_VIDEO_FORMAT", \ 251cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_EDITING_UNSUPPORTED_VIDEO_FORMAT ), 252cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_EDITING_UNSUPPORTED_H263_PROFILE", \ 253cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_EDITING_UNSUPPORTED_H263_PROFILE ), 254cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_EDITING_UNSUPPORTED_MPEG4_PROFILE", \ 255cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_EDITING_UNSUPPORTED_MPEG4_PROFILE ), 256cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_EDITING_UNSUPPORTED_MPEG4_RVLC", \ 257cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_EDITING_UNSUPPORTED_MPEG4_RVLC ), 258cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_EDITING_UNSUPPORTED_AUDIO_FORMAT", \ 259cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_EDITING_UNSUPPORTED_AUDIO_FORMAT ), 260cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_EDITING_NO_SUPPORTED_STREAM_IN_FILE", \ 261cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_EDITING_NO_SUPPORTED_STREAM_IN_FILE ), 262cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_EDITING_NO_SUPPORTED_VIDEO_STREAM_IN_FILE",\ 263cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_EDITING_NO_SUPPORTED_VIDEO_STREAM_IN_FILE), 264cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_CLIP_ANALYSIS_VERSION", \ 265cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_VERSION ), 266cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_PLATFORM 267cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INVALID_CLIP_ANALYSIS_PLATFORM", \ 268cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_PLATFORM ), 269cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 270cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INCOMPATIBLE_VIDEO_FORMAT", \ 271cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_FORMAT ), 272cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INCOMPATIBLE_VIDEO_FRAME_SIZE", \ 273cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_FRAME_SIZE ), 274cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INCOMPATIBLE_VIDEO_TIME_SCALE", \ 275cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_TIME_SCALE ), 276cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INCOMPATIBLE_VIDEO_DATA_PARTITIONING", \ 277cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_DATA_PARTITIONING ), 278cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_UNSUPPORTED_MP3_ASSEMBLY", \ 279cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_UNSUPPORTED_MP3_ASSEMBLY ), 280cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_NO_SUPPORTED_STREAM_IN_FILE", \ 281cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_NO_SUPPORTED_STREAM_IN_FILE ), 282cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_ADDVOLUME_EQUALS_ZERO", \ 283cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_ADDVOLUME_EQUALS_ZERO ), 284cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_ADDCTS_HIGHER_THAN_VIDEO_DURATION", \ 285cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_ADDCTS_HIGHER_THAN_VIDEO_DURATION ), 286cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_UNDEFINED_AUDIO_TRACK_FILE_FORMAT", \ 287cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_UNDEFINED_AUDIO_TRACK_FILE_FORMAT ), 288cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_UNSUPPORTED_ADDED_AUDIO_STREAM", \ 289cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_UNSUPPORTED_ADDED_AUDIO_STREAM ), 290cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_AUDIO_MIXING_UNSUPPORTED", \ 291cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_AUDIO_MIXING_UNSUPPORTED ), 292cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_AUDIO_MIXING_MP3_UNSUPPORTED 293cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_AUDIO_MIXING_MP3_UNSUPPORTED", \ 294cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_AUDIO_MIXING_MP3_UNSUPPORTED ), 295cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 296cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_FEATURE_UNSUPPORTED_WITH_AUDIO_TRACK", \ 297cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_AUDIO_TRACK ), 298cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_AAC 299cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_FEATURE_UNSUPPORTED_WITH_AAC", \ 300cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_AAC ), 301cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 302cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_AUDIO_CANNOT_BE_MIXED", \ 303cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_AUDIO_CANNOT_BE_MIXED ), 304cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_ONLY_AMRNB_INPUT_CAN_BE_MIXED 305cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_ONLY_AMRNB_INPUT_CAN_BE_MIXED", \ 306cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_ONLY_AMRNB_INPUT_CAN_BE_MIXED ), 307cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 308cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_EVRC 309cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_FEATURE_UNSUPPORTED_WITH_EVRC", \ 310cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_EVRC ), 311cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 312cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_H263_PROFILE_NOT_SUPPORTED", \ 313cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_H263_PROFILE_NOT_SUPPORTED ), 314cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_NO_SUPPORTED_VIDEO_STREAM_IN_FILE", \ 315cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ERR_NO_SUPPORTED_VIDEO_STREAM_IN_FILE ), 316cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ERR_INTERNAL", \ 317cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4NO_ERROR ), 318cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 319cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 320cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(Error, ERROR_CLASS_NAME, 321cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_getUnknownErrorName, videoEditClasses_getUnknownErrorString) 322cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 323cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 324cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(FileType) 325cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 326cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("THREE_GPP", VideoEditClasses_kFileType_3GPP), 327cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("MP4", VideoEditClasses_kFileType_MP4), 328cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("AMR", VideoEditClasses_kFileType_AMR), 329cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("MP3", VideoEditClasses_kFileType_MP3), 330cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("PCM", VideoEditClasses_kFileType_PCM), 331cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("JPG", VideoEditClasses_kFileType_JPG), 332cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("GIF", VideoEditClasses_kFileType_GIF), 333cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("PNG", VideoEditClasses_kFileType_PNG), 3344e7032052137345450bfd2b7a4a9a05ecde17076Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("M4V", VideoEditClasses_kFileType_M4V), 335cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("UNSUPPORTED", VideoEditClasses_kFileType_Unsupported) 336cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 337cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 338cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(FileType, FILE_TYPE_CLASS_NAME, M4OSA_NULL, M4OSA_NULL) 339cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 340cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 341cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(MediaRendering) 342cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 343cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("RESIZING", M4xVSS_kResizing), 344cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("CROPPING", M4xVSS_kCropping), 345cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BLACK_BORDERS", M4xVSS_kBlackBorders) 346cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 347cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 348cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(MediaRendering, MEDIA_RENDERING_CLASS_NAME, 349cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_NULL, M4OSA_NULL) 350cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 351cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 352cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(SlideDirection) 353cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 354cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("RIGHT_OUT_LEFT_IN", M4xVSS_SlideTransition_RightOutLeftIn), 355cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("LEFT_OUT_RIGTH_IN", M4xVSS_SlideTransition_LeftOutRightIn), 356cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("TOP_OUT_BOTTOM_IN", M4xVSS_SlideTransition_TopOutBottomIn), 357cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BOTTOM_OUT_TOP_IN", M4xVSS_SlideTransition_BottomOutTopIn) 358cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 359cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 360cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(SlideDirection, SLIDE_DIRECTION_CLASS_NAME, 361cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_NULL, M4OSA_NULL) 362cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 363cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 364cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(TransitionBehaviour) 365cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 366cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("SPEED_UP", M4VSS3GPP_TransitionBehaviour_SpeedUp), 367cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("LINEAR", M4VSS3GPP_TransitionBehaviour_Linear), 368cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("SPEED_DOWN", M4VSS3GPP_TransitionBehaviour_SpeedDown), 369cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("SLOW_MIDDLE", M4VSS3GPP_TransitionBehaviour_SlowMiddle), 370cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FAST_MIDDLE", M4VSS3GPP_TransitionBehaviour_FastMiddle) 371cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 372cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 373cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(TransitionBehaviour, TRANSITION_BEHAVIOUR_CLASS_NAME, 374cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_NULL, M4OSA_NULL) 375cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 376cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 377cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(VideoEffect) 378cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 379cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NONE", M4VSS3GPP_kVideoEffectType_None), 380cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FADE_FROM_BLACK", M4VSS3GPP_kVideoEffectType_FadeFromBlack), 381cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FADE_TO_BLACK", M4VSS3GPP_kVideoEffectType_FadeToBlack), 382cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("EXTERNAL", M4VSS3GPP_kVideoEffectType_External), 383cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("BLACK_AND_WHITE", M4xVSS_kVideoEffectType_BlackAndWhite), 384cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("PINK", M4xVSS_kVideoEffectType_Pink), 385cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("GREEN", M4xVSS_kVideoEffectType_Green), 386cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("SEPIA", M4xVSS_kVideoEffectType_Sepia), 387cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NEGATIVE", M4xVSS_kVideoEffectType_Negative), 388cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FRAMING", M4xVSS_kVideoEffectType_Framing), 389cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("TEXT", M4xVSS_kVideoEffectType_Text), 390cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ZOOM_IN", M4xVSS_kVideoEffectType_ZoomIn), 391cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ZOOM_OUT", M4xVSS_kVideoEffectType_ZoomOut), 392cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FIFTIES", M4xVSS_kVideoEffectType_Fifties), 393cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("COLORRGB16", M4xVSS_kVideoEffectType_ColorRGB16), 394cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("GRADIENT", M4xVSS_kVideoEffectType_Gradient), 395cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 396cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 397cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(VideoEffect, VIDEO_EFFECT_CLASS_NAME, M4OSA_NULL, M4OSA_NULL) 398cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 399cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 400cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(VideoFormat) 401cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 402cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NO_VIDEO", M4VIDEOEDITING_kNoneVideo), 403cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("H263", M4VIDEOEDITING_kH263), 404cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("MPEG4", M4VIDEOEDITING_kMPEG4), 405cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("H264", M4VIDEOEDITING_kH264), 406cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NULL_VIDEO", M4VIDEOEDITING_kNullVideo), 407cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("UNSUPPORTED", M4VIDEOEDITING_kUnsupportedVideo), 408cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 409cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 410cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(VideoFormat, VIDEO_FORMAT_CLASS_NAME, M4OSA_NULL, M4OSA_NULL) 411cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 412cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 413cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(VideoFrameRate) 414cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 415cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FR_5_FPS", M4VIDEOEDITING_k5_FPS), 416cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FR_7_5_FPS", M4VIDEOEDITING_k7_5_FPS), 417cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FR_10_FPS", M4VIDEOEDITING_k10_FPS), 418cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FR_12_5_FPS", M4VIDEOEDITING_k12_5_FPS), 419cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FR_15_FPS", M4VIDEOEDITING_k15_FPS), 420cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FR_20_FPS", M4VIDEOEDITING_k20_FPS), 421cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FR_25_FPS", M4VIDEOEDITING_k25_FPS), 422cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FR_30_FPS", M4VIDEOEDITING_k30_FPS) 423cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 424cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 425cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(VideoFrameRate, VIDEO_FRAME_RATE_CLASS_NAME, 426cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_NULL, M4OSA_NULL) 427cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 428cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 429cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(VideoFrameSize) 430cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 431cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("SQCIF", M4VIDEOEDITING_kSQCIF), 432cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("QQVGA", M4VIDEOEDITING_kQQVGA), 433cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("QCIF", M4VIDEOEDITING_kQCIF), 434cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("QVGA", M4VIDEOEDITING_kQVGA), 435cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("CIF", M4VIDEOEDITING_kCIF), 436cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("VGA", M4VIDEOEDITING_kVGA), 437cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("WVGA", M4VIDEOEDITING_kWVGA), 438cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NTSC", M4VIDEOEDITING_kNTSC), 439cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("nHD", M4VIDEOEDITING_k640_360), 440cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("WVGA16x9", M4VIDEOEDITING_k854_480), 441600acf14ff12eaf139f0ac644fb7e17849af65faHong Teng VIDEOEDIT_JAVA_CONSTANT_INIT("V720p", M4VIDEOEDITING_k1280_720), 442600acf14ff12eaf139f0ac644fb7e17849af65faHong Teng VIDEOEDIT_JAVA_CONSTANT_INIT("W720p", M4VIDEOEDITING_k1080_720), 443600acf14ff12eaf139f0ac644fb7e17849af65faHong Teng VIDEOEDIT_JAVA_CONSTANT_INIT("S720p", M4VIDEOEDITING_k960_720), 444600acf14ff12eaf139f0ac644fb7e17849af65faHong Teng VIDEOEDIT_JAVA_CONSTANT_INIT("V1080p", M4VIDEOEDITING_k1920_1080) 445cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 446cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 447cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(VideoFrameSize, VIDEO_FRAME_SIZE_CLASS_NAME, 448cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_NULL, M4OSA_NULL) 449cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 450cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANTS(VideoTransition) 451cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 452cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("NONE", M4VSS3GPP_kVideoTransitionType_None), 453cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("CROSS_FADE", M4VSS3GPP_kVideoTransitionType_CrossFade), 454cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("EXTERNAL", M4VSS3GPP_kVideoTransitionType_External), 455cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("ALPHA_MAGIC", M4xVSS_kVideoTransitionType_AlphaMagic), 456cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("SLIDE_TRANSITION", M4xVSS_kVideoTransitionType_SlideTransition), 457cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_CONSTANT_INIT("FADE_BLACK", M4xVSS_kVideoTransitionType_FadeBlack) 458cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 459cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 460cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_CONSTANT_CLASS(VideoTransition, VIDEO_TRANSITION_CLASS_NAME, 461cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_NULL, M4OSA_NULL) 462cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 463cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 464cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(AlphaMagic) 465cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 466cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("file", "Ljava/lang/String;"), 467cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("blendingPercent", "I" ), 468cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("invertRotation", "Z" ), 469cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("rgbWidth", "I" ), 470cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("rgbHeight", "I" ) 471cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 472cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 473cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(AlphaMagic, ALPHA_MAGIC_SETTINGS_CLASS_NAME) 474cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 475cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(Properties) 476cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 477cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("duration", "I"), 478cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("fileType", "I"), 479cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoFormat", "I"), 480cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoDuration", "I"), 481cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoBitrate", "I"), 482cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("width", "I"), 483cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("height", "I"), 484cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("averageFrameRate", "F"), 4853ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("profile", "I"), 4863ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("level", "I"), 4873ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("profileSupported", "Z"), 4883ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("levelSupported", "Z"), 489cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioFormat", "I"), 490cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioDuration", "I"), 491cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioBitrate", "I"), 492cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioChannels", "I"), 493c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("audioSamplingFrequency", "I"), 494c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("videoRotation", "I") 495cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 496cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 497cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(Properties, PROPERTIES_CLASS_NAME) 498cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 499cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(BackgroundMusic) 500cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 501cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("file", "Ljava/lang/String;"), 502cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("fileType", "I" ), 503cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("insertionTime", "J" ), 504cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("volumePercent", "I" ), 505cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("beginLoop", "J" ), 506cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("endLoop", "J" ), 507cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("enableDucking", "Z" ), 508cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("duckingThreshold","I" ), 509cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("lowVolume", "I" ), 510cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("isLooping", "Z" ) 511cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 512cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 513cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(BackgroundMusic, BACKGROUND_MUSIC_SETTINGS_CLASS_NAME) 514cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 515cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi/* 516cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(BestEditSettings) 517cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 518cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoFormat", "I"), 519cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoFrameSize", "I"), 520cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioFormat", "I"), 521cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioChannels", "I") 522cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 523cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 524cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(BestEditSettings, BEST_EDIT_SETTINGS_CLASS_NAME) 525cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi*/ 526cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 527cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(ClipSettings) 528cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 529cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("clipPath", "Ljava/lang/String;"), 530cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("fileType", "I" ), 531cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("beginCutTime", "I" ), 532cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("endCutTime", "I" ), 533cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("beginCutPercent", "I" ), 534cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("endCutPercent", "I" ), 535cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("panZoomEnabled", "Z" ), 536cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("panZoomPercentStart", "I" ), 537cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("panZoomTopLeftXStart", "I" ), 538cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("panZoomTopLeftYStart", "I" ), 539cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("panZoomPercentEnd", "I" ), 540cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("panZoomTopLeftXEnd", "I" ), 541cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("panZoomTopLeftYEnd", "I" ), 542cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("mediaRendering", "I" ), 543cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("rgbWidth", "I" ), 544c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("rgbHeight", "I" ), 545c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("rotationDegree", "I" ) 546cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 547cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 548cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(ClipSettings, CLIP_SETTINGS_CLASS_NAME) 549cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 550cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 551cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(EditSettings) 552cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 553cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("clipSettingsArray", "[L"CLIP_SETTINGS_CLASS_NAME";" ), 554cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("transitionSettingsArray", "[L"TRANSITION_SETTINGS_CLASS_NAME";" ), 555cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("effectSettingsArray", "[L"EFFECT_SETTINGS_CLASS_NAME";" ), 556cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoFrameRate", "I" ), 557cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("outputFile", "Ljava/lang/String;" ), 558cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoFrameSize", "I" ), 559cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoFormat", "I" ), 5603ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("videoProfile", "I" ), 5613ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury VIDEOEDIT_JAVA_FIELD_INIT("videoLevel", "I" ), 562cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioFormat", "I" ), 563cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioSamplingFreq", "I" ), 564cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("maxFileSize", "I" ), 565cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioChannels", "I" ), 566cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoBitrate", "I" ), 567cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioBitrate", "I" ), 568cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("backgroundMusicSettings",\ 569cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "L"BACKGROUND_MUSIC_SETTINGS_CLASS_NAME";"), 570cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("primaryTrackVolume", "I" ) 571cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 572cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 573cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(EditSettings, EDIT_SETTINGS_CLASS_NAME) 574cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 575cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 576cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(EffectSettings) 577cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 578cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("startTime", "I" ), 579cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("duration", "I" ), 580cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoEffectType", "I" ), 581cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioEffectType", "I" ), 582cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("startPercent", "I" ), 583cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("durationPercent", "I" ), 584cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("framingFile", "Ljava/lang/String;"), 585cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("framingBuffer", "[I" ), 586cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("bitmapType", "I" ), 587cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("width", "I" ), 588cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("height", "I" ), 589cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("topLeftX", "I" ), 590cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("topLeftY", "I" ), 591cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("framingResize", "Z" ), 592cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("framingScaledSize", "I" ), 593cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("text", "Ljava/lang/String;"), 594cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("textRenderingData", "Ljava/lang/String;"), 595cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("textBufferWidth", "I" ), 596cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("textBufferHeight", "I" ), 597cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("fiftiesFrameRate", "I" ), 598cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("rgb16InputColor", "I" ), 599cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("alphaBlendingStartPercent", "I" ), 600cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("alphaBlendingMiddlePercent", "I" ), 601cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("alphaBlendingEndPercent", "I" ), 602cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("alphaBlendingFadeInTimePercent", "I" ), 603cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("alphaBlendingFadeOutTimePercent", "I" ) 604cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 605cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 606cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(EffectSettings, EFFECT_SETTINGS_CLASS_NAME) 607cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 608cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 609cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(Engine) 610cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 611cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("mManualEditContext", "I") 612cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 613cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 614cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(Engine, MANUAL_EDIT_ENGINE_CLASS_NAME) 615cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 616cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 617cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(SlideTransitionSettings) 618cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 619cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("direction", "I") 620cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 621cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 622cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(SlideTransitionSettings, SLIDE_TRANSITION_SETTINGS_CLASS_NAME) 623cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 624cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 625cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(TransitionSettings) 626cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 627cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("duration", "I" ), 628cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("videoTransitionType", "I" ), 629cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("audioTransitionType", "I" ), 630cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("transitionBehaviour", "I" ), 631cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("alphaSettings", "L"ALPHA_MAGIC_SETTINGS_CLASS_NAME";" ), 632cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("slideSettings", "L"SLIDE_TRANSITION_SETTINGS_CLASS_NAME";") 633cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 634cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 635cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(TransitionSettings, TRANSITION_SETTINGS_CLASS_NAME) 636cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 637cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 638cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELDS(Version) 639cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 640cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("major", "I"), 641cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("minor", "I"), 642cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_FIELD_INIT("revision", "I") 643cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 644cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 645cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_FIELD_CLASS(Version, VERSION_CLASS_NAME) 646cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 647cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 648cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_METHODS(Engine) 649cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 650cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_JAVA_METHOD_INIT("onProgressUpdate", "(II)V") 651cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 652cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 653cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargiVIDEOEDIT_JAVA_DEFINE_METHOD_CLASS(Engine, MANUAL_EDIT_ENGINE_CLASS_NAME) 654cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 655cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 656cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargistatic const char* 657cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getBrandString(M4OSA_UInt32 brand) 658cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 659cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi static char brandString[11] = "0x00000000"; 660cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi const char* pBrandString = M4OSA_NULL; 661cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_UInt8* pBrand = (M4OSA_UInt8*)&brand; 662cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_UInt32 brandHost = 0; 663cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 664cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Convert the brand from big endian to host. 665cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi brandHost = pBrand[0]; 666cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi brandHost = brandHost << 8; 667cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi brandHost += pBrand[1]; 668cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi brandHost = brandHost << 8; 669cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi brandHost += pBrand[2]; 670cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi brandHost = brandHost << 8; 671cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi brandHost += pBrand[3]; 672cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 673cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi switch (brandHost) 674cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 675cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_0000: 676cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "0000"; 677cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 678cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_3G2A: 679cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "3G2A"; 680cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 681cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_3GP4: 682cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "3GP4"; 683cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 684cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_3GP5: 685cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "3GP5"; 686cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 687cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_3GP6: 688cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "3GP6"; 689cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 690cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_AVC1: 691cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "AVC1"; 692cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 693cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_EMP: 694cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "EMP"; 695cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 696cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_ISOM: 697cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "ISOM"; 698cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 699cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_MP41: 700cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "MP41"; 701cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 702cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_MP42: 703cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "MP42"; 704cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 705cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi case M4VIDEOEDITING_BRAND_VFJ1: 706cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = "VFJ1"; 707cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 708cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi default: 709cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_chrSPrintf((M4OSA_Char *)brandString, 710cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi sizeof(brandString) - 1, 711cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_Char*)"0x%08X", brandHost); 712cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pBrandString = brandString; 713cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi break; 714cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 715cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 716cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the brand string. 717cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi return(pBrandString); 718cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 719cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 720cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 721cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargistatic void 722cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logFtypBox( 723cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VIDEOEDITING_FtypBox* pBox, 724cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 725cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 726cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the FtypBox. 727cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pBox) 728cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 729cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 730cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c major_brand: %s", indentation, ' ', 731cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_getBrandString(pBox->major_brand)); 732cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 733cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c minor_version: %08X", indentation, ' ', 734cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pBox->minor_version); 735cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 736cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c nbCompatibleBrands: %u", indentation, ' ', 737cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pBox->nbCompatibleBrands); 738cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 739cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c compatible_brands:", indentation, ' '); 740cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation += VIDEOEDIT_LOG_INDENTATION; 741cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; (i < (int)pBox->nbCompatibleBrands) &&\ 742cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (i < M4VIDEOEDITING_MAX_COMPATIBLE_BRANDS); i++) 743cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 744cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 745cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c compatible_brand[%d]: %s", indentation, ' ', 746cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi i, videoEditClasses_getBrandString(pBox->compatible_brands[i])); 747cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 748cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation -= VIDEOEDIT_LOG_INDENTATION; 749cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 750cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 751cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 752cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c <null>", 753cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' '); 754cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 755cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 756cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 757cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 758cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 759cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 760cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_init( 761cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 762cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv) 763cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 764cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 765cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 766cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 767cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 768cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES",\ 769cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_init()"); 770cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 771cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Initialize the constants. 772cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initAudioEffectConstants(pResult, pEnv); 773cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initAudioFormatConstants(pResult, pEnv); 774cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initAudioSamplingFrequencyConstants(pResult, pEnv); 775cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initAudioTransitionConstants(pResult, pEnv); 776cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initBitrateConstants(pResult, pEnv); 777cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initClipTypeConstants(pResult, pEnv); 778cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initEngineConstants(pResult, pEnv); 779cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initErrorConstants(pResult, pEnv); 780cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initFileTypeConstants(pResult, pEnv); 781cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initMediaRenderingConstants(pResult, pEnv); 782cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initSlideDirectionConstants(pResult, pEnv); 783cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initTransitionBehaviourConstants(pResult, pEnv); 784cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initVideoEffectConstants(pResult, pEnv); 785cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initVideoFormatConstants(pResult, pEnv); 786cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initVideoFrameRateConstants(pResult, pEnv); 787cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initVideoFrameSizeConstants(pResult, pEnv); 788cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initVideoTransitionConstants(pResult, pEnv); 789cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 790cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Initialize the fields. 791cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initAlphaMagicFields(pResult, pEnv); 792cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initBackgroundMusicFields(pResult, pEnv); 793cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initClipSettingsFields(pResult, pEnv); 794cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initEditSettingsFields(pResult, pEnv); 795cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initEffectSettingsFields(pResult, pEnv); 796cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initEngineFields(pResult, pEnv); 797cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initSlideTransitionSettingsFields(pResult, pEnv); 798cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initTransitionSettingsFields(pResult, pEnv); 799cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initVersionFields(pResult, pEnv); 800cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Initialize the methods. 801cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initEngineMethods(pResult, pEnv); 802cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 803cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 804cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 805cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 806cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditPropClass_init( 807cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 808cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv) 809cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 810cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 811cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 812cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 813cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 814cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES",\ 815cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditPropClass_init()"); 816cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 817cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Initialize the constants. 818cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initAudioFormatConstants(pResult, pEnv); 819cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initErrorConstants(pResult, pEnv); 820cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initFileTypeConstants(pResult, pEnv); 821cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initVideoFormatConstants(pResult, pEnv); 822cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 823cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Initialize the fields. 824cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_initPropertiesFields(pResult, pEnv); 825cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 826cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 827cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 828cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 829cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getAlphaMagicSettings( 830cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 831cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 832cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object, 833cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_AlphaMagicSettings** ppSettings) 834cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 8354fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru VideoEditJava_AlphaMagicFieldIds fieldIds; 836cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_AlphaMagicSettings* pSettings = M4OSA_NULL; 8374fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru memset(&fieldIds, 0, sizeof(VideoEditJava_AlphaMagicFieldIds)); 838cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 839cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 840cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 841cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 842cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 843cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 844cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_getAlphaMagicSettings()"); 845cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 846cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 847cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getAlphaMagicFieldIds(pResult, pEnv, &fieldIds); 848cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 849cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 850cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only validate the AlphaMagicSettings if the fields could be located. 851cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 852cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 853cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the clip is set. 854cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 855cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (NULL == object), 856cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "alphaSettings is null"); 857cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 858cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 859cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only retrieve the AlphaMagicSettings if the fields could be located and validated. 860cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 861cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 862cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the AlphaMagicSettings. 863cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings = (M4xVSS_AlphaMagicSettings*)videoEditOsal_alloc(pResult, pEnv, 864cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi sizeof(M4xVSS_AlphaMagicSettings), "AlphaMagicSettings"); 865cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 866cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory could be allocated for the AlphaMagicSettings. 867cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 868cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 869cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the alpha magic file path (JPG file). 870cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->pAlphaFilePath = (M4OSA_Char*)videoEditJava_getString(pResult, pEnv, object, 871cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.file, M4OSA_NULL); 872cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 873cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the alpha magic file path is valid. 874cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 875cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL == pSettings->pAlphaFilePath), "alphaSettings.file is null"); 876cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 877cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 878cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the alpha file path could be retrieved. 879cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 880cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 881cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the blending percentage between 0 and 100. 882cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->blendingPercent = (M4OSA_UInt8)pEnv->GetIntField(object, 883cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.blendingPercent); 884cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 885cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the direct effect or reverse. 886cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->isreverse = (M4OSA_Bool)pEnv->GetBooleanField(object, 887cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.invertRotation); 888cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 889cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Get the rgb width 890cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->width = (M4OSA_UInt32) pEnv->GetIntField(object, fieldIds.rgbWidth ); 891cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 892cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->height = (M4OSA_UInt32) pEnv->GetIntField(object, fieldIds.rgbHeight ); 893cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 894cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 895cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "((((((((((path %s", pSettings->pAlphaFilePath); 896cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 897cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 898cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "------- getAlphaMagicSettings width %d", pEnv->GetIntField(object, 899cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.rgbWidth )); 900cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 901cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "-------- getAlphaMagicSettings Height %d", 902cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->GetIntField(object, fieldIds.rgbHeight )); 903cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 904cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 905cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if settings could be set. 906cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 907cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 908cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the settings. 909cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = pSettings; 910cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 911cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 912cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 913cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings. 914cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeAlphaMagicSettings(&pSettings); 915cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 916cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 917cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 918cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 919cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 920cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_freeAlphaMagicSettings( 921cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_AlphaMagicSettings** ppSettings) 922cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 923cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the AlphaMagicSettings. 924cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != (*ppSettings)) 925cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 926cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 927cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 928cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_freeAlphaMagicSettings()"); 929cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 930cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the alpha file path. 931cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)->pAlphaFilePath); 932cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->pAlphaFilePath = M4OSA_NULL; 933cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 934cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings structure. 935cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)); 936cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = M4OSA_NULL; 937cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 938cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 939cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 940cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 941cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 942cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logAlphaMagicSettings( 943cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_AlphaMagicSettings* pSettings, 944cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 945cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 946cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the AlphaMagicSettings. 947cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings) 948cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 949cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 950cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pAlphaFilePath: %s", indentation, ' ', 951cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->pAlphaFilePath) ? \ 952cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (char *)pSettings->pAlphaFilePath : "<null>"); 953cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 954cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c blendingPercent: %u %%", indentation, ' ', 955cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->blendingPercent); 956cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 957cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c isreverse: %s", indentation, ' ', 958cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->isreverse ? "true" : "false"); 959cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 960cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 961cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 962cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 963cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c <null>", indentation, ' '); 964cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 965cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 966cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 967cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 968cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 969cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 970cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getBackgroundMusicSettings( 971cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 972cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 973cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object, 974cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_BGMSettings** ppSettings) 975cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 9764fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru VideoEditJava_BackgroundMusicFieldIds fieldIds; 977cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_BGMSettings* pSettings = M4OSA_NULL; 978cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool converted = true; 9794fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru memset(&fieldIds, 0, sizeof(VideoEditJava_BackgroundMusicFieldIds)); 980cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 981cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 982cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 983cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 984cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 985cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_getBackgroundMusicSettings()"); 986cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 987cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 988cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getBackgroundMusicFieldIds(pResult, pEnv, &fieldIds); 989cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 990cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 991cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only retrieve the BackgroundMusicSettings if the fields could be located. 992cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 993cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 994cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the object is valid. 995cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (NULL != object) 996cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 997cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the BackgroundMusicSettings. 998cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings = (M4xVSS_BGMSettings*)videoEditOsal_alloc(pResult, pEnv, 999cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi sizeof(M4xVSS_BGMSettings), "BackgroundMusicSettings"); 1000cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1001cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory could be allocated for the BackgroundMusicSettings. 1002cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1003cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1004cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the input file path. 1005cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->pFile = (M4OSA_Char*)videoEditJava_getString(pResult, pEnv, object, 1006cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.file, M4OSA_NULL); 1007cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1008cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the input file path is valid. 1009cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1010cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL == pSettings->pFile), "backgroundMusicSettings.file is null"); 1011cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1012cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1013cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the input file path could be retrieved. 1014cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1015cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1016cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the file type .3gp, .amr, .mp3. 1017cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->FileType = M4VIDEOEDITING_kFileType_PCM; 1018cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi /*(M4VIDEOEDITING_FileType)videoEditJava_getClipTypeJavaToC( 1019cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.fileType));*/ 1020cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1021cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the file type is valid. 1022cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1023cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "backgroundMusicSettings.fileType is invalid"); 1024cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1025cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1026cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the file type could be retrieved. 1027cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1028cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1029cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the time, in milliseconds, at which the added audio track is inserted. 1030cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiAddCts = (M4OSA_UInt32)pEnv->GetLongField(object, 1031cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.insertionTime); 1032cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1033cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the volume, in percentage (0..100), of the added audio track. 1034cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiAddVolume = (M4OSA_UInt32)pEnv->GetIntField(object, 1035cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.volumePercent); 1036cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1037cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the start time of the loop in milli seconds. 1038cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiBeginLoop = (M4OSA_UInt32)pEnv->GetLongField(object, 1039cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.beginLoop); 1040cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1041cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the end time of the loop in milli seconds. 1042cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiEndLoop = (M4OSA_UInt32)pEnv->GetLongField(object, 1043cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.endLoop); 1044cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the end time of the loop in milli seconds. 1045cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->b_DuckingNeedeed = 1046cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_Bool)pEnv->GetBooleanField(object, fieldIds.enableDucking); 1047cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1048cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the end time of the loop in milli seconds. 1049cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->InDucking_threshold = 1050cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_Int32)pEnv->GetIntField(object, fieldIds.duckingThreshold); 1051cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1052cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the end time of the loop in milli seconds. 1053cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->lowVolume = 1054cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_Float)(((M4OSA_Float)pEnv->GetIntField(object, fieldIds.lowVolume))); 1055cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1056cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the end time of the loop in milli seconds. 1057cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->bLoop = (M4OSA_Bool)pEnv->GetBooleanField(object, fieldIds.isLooping); 1058cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1059cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set sampling freq and channels 1060cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiSamplingFrequency = M4VIDEOEDITING_k32000_ASF; 1061cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiNumChannels = 2; 1062cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1063cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1064cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if settings could be set. 1065cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1066cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1067cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the settings. 1068cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = pSettings; 1069cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1070cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 1071cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1072cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings. 1073cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeBackgroundMusicSettings(&pSettings); 1074cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1075cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1076cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1077cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 1078cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1079cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 1080cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_freeBackgroundMusicSettings( 1081cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_BGMSettings** ppSettings) 1082cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 1083cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the BackgroundMusicSettings. 1084cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != (*ppSettings)) 1085cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1086cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 1087cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1088cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_freeBackgroundMusicSettings()"); 1089cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1090cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the input file path. 1091cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)->pFile); 1092cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->pFile = M4OSA_NULL; 1093cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1094cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings structure. 1095cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)); 1096cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = M4OSA_NULL; 1097cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1098cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 1099cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1100cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 1101cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 1102cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logBackgroundMusicSettings( 1103cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_BGMSettings* pSettings, 1104cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 1105cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 1106cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the BackgroundMusicSettings. 1107cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings) 1108cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1109cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c pFile: %s", 1110cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' ', 1111cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->pFile) ? (char *)pSettings->pFile : "<null>"); 1112cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1113cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c FileType: %s", indentation, ' ', 1114cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getClipTypeString(pSettings->FileType)); 1115cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1116cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c uiAddCts: %u ms", 1117cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' ', (unsigned int)pSettings->uiAddCts); 1118cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c uiAddVolume: %u %%", 1119cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' ', (unsigned int)pSettings->uiAddVolume); 1120cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c uiBeginLoop: %u ms", 1121cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' ', (unsigned int)pSettings->uiBeginLoop); 1122cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c uiEndLoop: %u ms", 1123cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' ', (unsigned int)pSettings->uiEndLoop); 1124cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c b_DuckingNeedeed:\ 1125cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi %u ", indentation, ' ', (bool)pSettings->b_DuckingNeedeed); 1126cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c InDucking_threshold: \ 1127cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi %u ms", indentation, ' ', (unsigned int)pSettings->InDucking_threshold); 1128cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c lowVolume: %2.2f ",\ 1129cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' ', (float)pSettings->lowVolume); 1130cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c bLoop: %u ms",\ 1131cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' ', (bool)pSettings->bLoop); 1132cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1133cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 1134cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1135cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c <null>", 1136cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' '); 1137cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1138cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 1139cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 1140cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1141cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 1142cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 1143cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logClipProperties( 1144cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VIDEOEDITING_ClipProperties* pProperties, 1145cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 1146cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 1147cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the ClipProperties. 1148cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pProperties) 1149cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1150cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1151cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bAnalysed: %s", indentation, ' ', 1152cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->bAnalysed ? "true" : "false"); 1153cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1154cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c Version: %d.%d.%d", indentation, ' ', 1155cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->Version[0], pProperties->Version[1], pProperties->Version[2]); 1156cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1157cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiClipDuration: %u", indentation, ' ', 1158cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiClipDuration); 1159cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1160cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c FileType: %s", indentation, ' ', 1161cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getClipTypeString(pProperties->FileType)); 1162cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c ftyp:", 1163cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' '); 1164cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_logFtypBox(&pProperties->ftyp, indentation + VIDEOEDIT_LOG_INDENTATION); 1165cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1166cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1167cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c VideoStreamType: %s", indentation, ' ', 1168cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVideoFormatString(pProperties->VideoStreamType)); 1169cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1170cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiClipVideoDuration: %u", indentation, ' ', 1171cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiClipVideoDuration); 1172cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1173cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiVideoBitrate: %s", indentation, ' ', 1174cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getBitrateString(pProperties->uiVideoBitrate)); 1175cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1176cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiVideoMaxAuSize: %u", indentation, ' ', 1177cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiVideoMaxAuSize); 1178cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1179cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiVideoWidth: %u", indentation, ' ', 1180cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiVideoWidth); 1181cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1182cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiVideoHeight: %u", indentation, ' ', 1183cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)(unsigned int)pProperties->uiVideoHeight); 1184cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1185cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiVideoTimeScale: %u", indentation, ' ', 1186cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiVideoTimeScale); 1187cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1188cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c fAverageFrameRate: %.3f", indentation, ' ', 1189cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->fAverageFrameRate); 1190cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1191cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bMPEG4dataPartition: %s", indentation, ' ', 1192cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->bMPEG4dataPartition ? "true" : "false"); 1193cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1194cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bMPEG4rvlc: %s", indentation, ' ', 1195cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->bMPEG4rvlc ? "true" : "false"); 1196cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1197cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bMPEG4resynchMarker: %s", indentation, ' ', 1198cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->bMPEG4resynchMarker ? "true" : "false"); 1199cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1200cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c AudioStreamType: %s", indentation, ' ', 1201cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getAudioFormatString(pProperties->AudioStreamType)); 1202cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1203cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiClipAudioDuration: %u", indentation, ' ', 1204cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiClipAudioDuration); 1205cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1206cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiAudioBitrate: %s", indentation, ' ', 1207cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getBitrateString(pProperties->uiAudioBitrate)); 1208cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1209cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiAudioMaxAuSize: %u", indentation, ' ', 1210cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiAudioMaxAuSize); 1211cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1212cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiNbChannels: %u", indentation, ' ', 1213cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiNbChannels); 1214cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1215cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiSamplingFrequency: %u", indentation, ' ', 1216cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiSamplingFrequency); 1217cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1218cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiExtendedSamplingFrequency: %u", indentation, ' ', 1219cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiExtendedSamplingFrequency); 1220cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1221cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiDecodedPcmSize: %u", indentation, ' ', 1222cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiDecodedPcmSize); 1223cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1224cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bVideoIsEditable: %s", indentation, ' ', 1225cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->bVideoIsEditable ? "true" : "false"); 1226cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1227cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bAudioIsEditable: %s", indentation, ' ', 1228cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->bAudioIsEditable ? "true" : "false"); 1229cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1230cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bVideoIsCompatibleWithMasterClip: %s", indentation, ' ', 1231cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->bVideoIsCompatibleWithMasterClip ? "true" : "false"); 1232cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1233cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bAudioIsCompatibleWithMasterClip: %s", indentation, ' ', 1234cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->bAudioIsCompatibleWithMasterClip ? "true" : "false"); 1235cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1236cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiClipAudioVolumePercentage: %d", indentation, ' ', 1237cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->uiClipAudioVolumePercentage); 1238cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1239cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 1240cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1241cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", "%*c <null>", 1242cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation, ' '); 1243cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1244cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 1245cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 1246cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1247cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 1248cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getClipSettings( 1249cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 1250cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 1251cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object, 1252cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ClipSettings** ppSettings) 1253cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 12544fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru 12554fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru VideoEditJava_ClipSettingsFieldIds fieldIds; 1256cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ClipSettings* pSettings = M4OSA_NULL; 1257cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_ERR result = M4NO_ERROR; 1258cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool converted = true; 12594fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru memset(&fieldIds, 0, sizeof(VideoEditJava_ClipSettingsFieldIds)); 1260cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 1261cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1262cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1263cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 1264cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1265cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_getClipSettings()"); 1266cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1267cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 1268cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getClipSettingsFieldIds(pResult, pEnv, &fieldIds); 1269cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1270cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1271cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only validate the ClipSettings if the fields could be located. 1272cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1273cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1274cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the clip is set. 1275cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1276cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (NULL == object), 1277cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "clip is null"); 1278cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1279cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1280cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only retrieve the ClipSettings if the fields could be located and validated. 1281cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1282cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1283cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the ClipSettings. 1284cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings = (M4VSS3GPP_ClipSettings *)videoEditOsal_alloc(pResult, pEnv, 1285cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi sizeof(M4VSS3GPP_ClipSettings), "ClipSettings"); 1286cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1287cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory could be allocated for the ClipSettings. 1288cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1289cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1290cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the API call. 1291cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_API(ANDROID_LOG_INFO, "VIDEO_EDITOR", "M4xVSS_CreateClipSettings()"); 1292cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1293cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Initialize the ClipSettings. 1294cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi result = M4xVSS_CreateClipSettings(pSettings, NULL, 0, 0); 1295cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1296cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the result. 1297cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_RESULT(ANDROID_LOG_INFO, "VIDEO_EDITOR", 1298cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_getResultString(result)); 1299cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1300cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the initialization succeeded. 1301cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowRuntimeException(pResult, pEnv, 1302cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4NO_ERROR != result), result); 1303cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1304cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1305cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the allocation and initialization succeeded 1306cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi //(required because pSettings is dereferenced). 1307cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1308cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1309cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the input file path. 1310cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->pFile = (M4OSA_Char*)videoEditJava_getString(pResult, pEnv, object, 1311cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.clipPath, &pSettings->filePathSize); 1312cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1313cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the file path is valid. 1314cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1315cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL == pSettings->pFile), "clip.clipPath is null"); 1316cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1317cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1318cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the input file could be retrieved. 1319cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1320cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1321cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the file type .3gp, .amr, .mp3. 1322cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->FileType = (M4VIDEOEDITING_FileType)videoEditJava_getClipTypeJavaToC( 1323cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.fileType)); 1324cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1325d7ed5992634596a53f32f66277de6d287ffb752fShailendra if (( pSettings->FileType == M4VIDEOEDITING_kFileType_JPG) || 1326d7ed5992634596a53f32f66277de6d287ffb752fShailendra ( pSettings->FileType == M4VIDEOEDITING_kFileType_PNG)) { 1327cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->FileType = M4VIDEOEDITING_kFileType_ARGB8888; 1328cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1329cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1330cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the file type is valid. 1331cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1332cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "clip.fileType is invalid"); 1333cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1334cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1335cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the file type could be retrieved. 1336cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1337cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1338cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the begin cut time, in milliseconds. 1339cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiBeginCutTime = 1340cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt32)pEnv->GetIntField(object, fieldIds.beginCutTime); 1341cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1342cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the end cut time, in milliseconds. 1343cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiEndCutTime = (M4OSA_UInt32)pEnv->GetIntField(object, fieldIds.endCutTime); 1344cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1345cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the begin cut time, in percent of clip duration (only for 3GPP clip !). 1346cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiBeginCutPercent = 1347cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt32)pEnv->GetIntField(object, fieldIds.beginCutPercent); 1348cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1349cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the end cut time, in percent of clip duration (only for 3GPP clip !). 1350cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiEndCutPercent = 1351cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt32)pEnv->GetIntField(object, fieldIds.endCutPercent); 1352cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1353cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the duration of the clip, if different from 0, 1354cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // has priority on uiEndCutTime or uiEndCutPercent. 1355cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiDuration = 0; 1356cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1357cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set whether or not the pan and zoom mode is enabled. 1358cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.isPanZoom = 1359cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_Bool)pEnv->GetBooleanField(object, fieldIds.panZoomEnabled); 1360cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1361cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the pan and zoom start zoom percentage. 1362cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomXa = 1363cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt16)pEnv->GetIntField(object, fieldIds.panZoomPercentStart); 1364cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1365cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the pan and zoom start x. 1366cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftXa = 1367cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt16)pEnv->GetIntField(object, fieldIds.panZoomTopLeftXStart); 1368cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1369cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the pan and zoom start y. 1370cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftYa = 1371cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt16)pEnv->GetIntField(object, fieldIds.panZoomTopLeftYStart); 1372cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1373cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the pan and zoom end zoom percentage. 1374cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomXb = 1375cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt16)pEnv->GetIntField(object, fieldIds.panZoomPercentEnd); 1376cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1377cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the pan and zoom end x. 1378cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftXb = 1379cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt16)pEnv->GetIntField(object, fieldIds.panZoomTopLeftXEnd); 1380cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1381cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the pan and zoom end y. 1382cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftYb = 1383cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt16)pEnv->GetIntField(object, fieldIds.panZoomTopLeftYEnd); 1384cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1385cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the media rendering mode, only used with JPEG to crop, resize, 1386cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // or render black borders. 1387cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.MediaRendering = 1388cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4xVSS_MediaRendering)videoEditJava_getMediaRenderingJavaToC( 1389cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object,fieldIds.mediaRendering)); 1390cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1391cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the media rendering is valid. 1392cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, !converted, 1393cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "clip.mediaRendering is invalid"); 1394cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1395cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Capture the rgb file width and height 1396cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ClipProperties.uiStillPicWidth = 1397cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt16)pEnv->GetIntField(object, fieldIds.rgbFileWidth); 1398cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ClipProperties.uiStillPicHeight = 1399cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_UInt16)pEnv->GetIntField(object, fieldIds.rgbFileHeight); 1400cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1401cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR", \ 1402cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "getClipSettings-- rgbFileWidth %d ", 1403cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ClipProperties.uiStillPicWidth); 1404cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR", \ 1405cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "getClipSettings-- rgbFileHeight %d ", 1406cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ClipProperties.uiStillPicHeight); 1407c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury 1408c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury // Set the video rotation degree 1409c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury pSettings->ClipProperties.videoRotationDegrees = 1410c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury (M4OSA_UInt32)pEnv->GetIntField(object, fieldIds.rotationDegree); 1411cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1412cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1413cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if settings could be set. 1414cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1415cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1416cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the settings. 1417cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = pSettings; 1418cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1419cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 1420cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1421cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings. 1422cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeClipSettings(&pSettings); 1423cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1424cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1425cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 1426cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1427cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 1428cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_createClipSettings( 1429cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 1430cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 1431cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ClipSettings* pSettings, 1432cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject* pObject) 1433cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 14344fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru VideoEditJava_ClipSettingsFieldIds fieldIds; 1435cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jclass clazz = NULL; 1436cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object = NULL; 14374fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru memset(&fieldIds, 0, sizeof(VideoEditJava_ClipSettingsFieldIds)); 1438cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1439cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 1440cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1441cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1442cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 1443cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1444cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_createClipSettings()"); 1445cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1446cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the class. 1447cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getClipSettingsClass(pResult, pEnv, &clazz); 1448cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1449cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 1450cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getClipSettingsFieldIds(pResult, pEnv, &fieldIds); 1451cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1452cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1453cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only create an object if the class and fields could be located. 1454cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1455cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1456cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate a new object. 1457cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi object = pEnv->AllocObject(clazz); 1458cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (NULL != object) 1459cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1460cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the clipPath field. 1461cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetObjectField(object, fieldIds.clipPath, NULL); 1462cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1463cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the fileType field. 1464cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.fileType, videoEditJava_getClipTypeCToJava( 1465cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->FileType)); 1466cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1467cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the beginCutTime field. 1468cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.beginCutTime, pSettings->uiBeginCutTime); 1469cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1470cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the endCutTime field. 1471cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.endCutTime, pSettings->uiEndCutTime); 1472cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1473cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the beginCutPercent field. 1474cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.beginCutPercent, pSettings->xVSS.uiBeginCutPercent); 1475cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1476cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the endCutPercent field. 1477cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.endCutPercent, pSettings->xVSS.uiEndCutPercent); 1478cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1479cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the panZoomEnabled field. 1480cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetBooleanField(object, fieldIds.panZoomEnabled, pSettings->xVSS.isPanZoom); 1481cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1482cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the panZoomPercentStart field. 1483cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.panZoomPercentStart, 14849803b8435e973d7e44360b91fa6935d0e3981a76Dheeraj Sharma (1000 - pSettings->xVSS.PanZoomXa)); 1485cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1486cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the panZoomTopLeftXStart field. 1487cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.panZoomTopLeftXStart, 1488cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftXa); 1489cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1490cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the panZoomTopLeftYStart field. 1491cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.panZoomTopLeftYStart, 1492cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftYa); 1493cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1494cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the panZoomPercentEnd field. 1495cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.panZoomPercentEnd, 14969803b8435e973d7e44360b91fa6935d0e3981a76Dheeraj Sharma (1000 - pSettings->xVSS.PanZoomXb)); 1497cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1498cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the panZoomTopLeftXEnd field. 1499cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.panZoomTopLeftXEnd, 1500cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftXb); 1501cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1502cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the panZoomTopLeftYEnd field. 1503cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.panZoomTopLeftYEnd, 1504cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftYb); 1505cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1506cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the mediaRendering field. 1507cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.mediaRendering, 1508cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getMediaRenderingCToJava(pSettings->xVSS.MediaRendering)); 1509cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1510cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the rgb file width and height 1511cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.rgbFileWidth, 1512cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ClipProperties.uiStillPicWidth ); 1513cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1514cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.rgbFileHeight, 1515cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ClipProperties.uiStillPicHeight ); 1516cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1517cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1518cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "rgbFileWeight %d rgbFileHeight %d ", 1519cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ClipProperties.uiStillPicWidth , 1520cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ClipProperties.uiStillPicHeight); 1521cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1522c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury // Set the video rotation 1523c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury pEnv->SetIntField(object, fieldIds.rotationDegree, 1524c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury pSettings->ClipProperties.videoRotationDegrees); 1525c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury 1526cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the object. 1527cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*pObject) = object; 1528cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1529cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1530cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 1531cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 1532cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditPropClass_createProperties( 1533cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 1534cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 1535cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VideoEditPropClass_Properties* pProperties, 1536cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject* pObject) 1537cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 15384fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru VideoEditJava_PropertiesFieldIds fieldIds; 1539cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jclass clazz = NULL; 1540cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object = NULL; 15414fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru memset(&fieldIds, 0, sizeof(VideoEditJava_PropertiesFieldIds)); 1542cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 1543cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1544cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1545cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 1546cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 1547cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditPropClass_createProperties()"); 1548cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1549cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the class. 1550cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getPropertiesClass(pResult, pEnv, &clazz); 1551cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1552cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 1553cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getPropertiesFieldIds(pResult, pEnv, &fieldIds); 1554cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1555cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1556cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only create an object if the class and fields could be located. 1557cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1558cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1559cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate a new object. 1560cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi object = pEnv->AllocObject(clazz); 1561cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (NULL != object) 1562cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1563cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the duration field. 1564cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.duration, pProperties->uiClipDuration); 1565cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1566cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the fileType field. 1567cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.fileType, 1568cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getFileTypeCToJava(pProperties->FileType)); 1569cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1570cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the videoFormat field. 1571cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.videoFormat, 1572cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVideoFormatCToJava(pProperties->VideoStreamType)); 1573cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1574cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the videoDuration field. 1575cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.videoDuration, pProperties->uiClipVideoDuration); 1576cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1577cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the videoBitrate field. 1578cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.videoBitrate, pProperties->uiVideoBitrate); 1579cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1580cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the width field. 1581cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.width, pProperties->uiVideoWidth); 1582cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1583cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the height field. 1584cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.height, pProperties->uiVideoHeight); 1585cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1586cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the averageFrameRate field. 1587cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetFloatField(object, fieldIds.averageFrameRate, pProperties->fAverageFrameRate); 1588cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 15893ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury // Set the profile field. 15903ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pEnv->SetIntField(object, fieldIds.profile, 15913ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pProperties->uiVideoProfile); 15923ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury 15933ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury // Set the level field. 15943ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pEnv->SetIntField(object, fieldIds.level, 15953ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pProperties->uiVideoLevel); 15963ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury 15973ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury // Set whether profile supported 15983ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pEnv->SetBooleanField(object, fieldIds.profileSupported, 15993ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pProperties->bProfileSupported); 16003ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury 16013ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury // Set whether level supported 16023ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pEnv->SetBooleanField(object, fieldIds.levelSupported, 16033ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pProperties->bLevelSupported); 1604cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1605cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the audioFormat field. 1606cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.audioFormat, 1607cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getAudioFormatCToJava(pProperties->AudioStreamType)); 1608cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1609cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the audioDuration field. 1610cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.audioDuration, pProperties->uiClipAudioDuration); 1611cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1612cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the audioBitrate field. 1613cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.audioBitrate, pProperties->uiAudioBitrate); 1614cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1615cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the audioChannels field. 1616cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.audioChannels, pProperties->uiNbChannels); 1617cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1618cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the audioSamplingFrequency field. 1619cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.audioSamplingFrequency, 1620cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->uiSamplingFrequency); 1621cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1622c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury // Set the video rotation field. 1623c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury pEnv->SetIntField(object, fieldIds.videoRotation, pProperties->uiRotation); 1624c847b1a89df94dbff4c2f557f8c042ead5398c3fRajneesh Chowdury 1625cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the object. 1626cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*pObject) = object; 1627cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1628cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1629cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 1630cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1631cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 1632cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_freeClipSettings( 1633cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ClipSettings** ppSettings) 1634cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 1635cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the ClipSettings. 1636cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != (*ppSettings)) 1637cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1638cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 1639cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1640cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_freeClipSettings()"); 1641cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1642cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the input file path. 1643cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)->pFile); 1644cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->pFile = M4OSA_NULL; 1645cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->filePathSize = 0; 1646cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1647cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the clip settings. 1648cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_FreeClipSettings((*ppSettings)); 1649cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1650cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings structure. 1651cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)); 1652cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = M4OSA_NULL; 1653cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1654cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 1655cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1656cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 1657cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 1658cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logClipSettings( 1659cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_ClipSettings* pSettings, 1660cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 1661cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 1662cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the ClipSettings. 1663cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings) 1664cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1665cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1666cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pFile: %s", indentation, ' ', 1667cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->pFile) ? (char*)pSettings->pFile : "<null>"); 1668cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1669cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c FileType: %s", indentation, ' ', 1670cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getClipTypeString(pSettings->FileType)); 1671cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1672cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c filePathSize: %u", indentation, ' ', 1673cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->filePathSize); 1674cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1675cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c ClipProperties:", indentation, ' '); 1676cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_logClipProperties(&pSettings->ClipProperties, 1677cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation + VIDEOEDIT_LOG_INDENTATION); 1678cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1679cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiBeginCutTime: %u ms", indentation, ' ', 1680cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->uiBeginCutTime); 1681cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1682cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiEndCutTime: %u ms", indentation, ' ', 1683cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->uiEndCutTime); 1684cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1685cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiBeginCutPercent: %u %%", indentation, ' ', 1686cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.uiBeginCutPercent); 1687cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1688cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiEndCutPercent: %u %%", indentation, ' ', 1689cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.uiEndCutPercent); 1690cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1691cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiDuration: %u ms", indentation, ' ', 1692cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.uiDuration); 1693cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1694cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c isPanZoom: %s", indentation, ' ', 1695cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.isPanZoom ? "true" : "false"); 1696cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1697cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c PanZoomXa: %d ms", indentation, ' ', 1698cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomXa); 1699cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1700cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c PanZoomTopleftXa: %d ms", indentation, ' ', 1701cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftXa); 1702cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1703cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c PanZoomTopleftYa: %d ms", indentation, ' ', 1704cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftYa); 1705cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1706cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c PanZoomXb: %d ms", indentation, ' ', 1707cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomXb); 1708cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1709cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c PanZoomTopleftXb: %d ms", indentation, ' ', 1710cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftXb); 1711cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1712cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c PanZoomTopleftYb: %d ms", indentation, ' ', 1713cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.PanZoomTopleftYb); 1714cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1715cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c MediaRendering: %s", indentation, ' ', 1716cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getMediaRenderingString(pSettings->xVSS.MediaRendering)); 1717cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1718cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 1719cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1720cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1721cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c <null>", indentation, ' '); 1722cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1723cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 1724cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 1725cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1726cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1727cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 1728cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getEditSettings( 1729cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 1730cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 1731cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object, 1732cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_EditSettings** ppSettings, 1733cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool flag) 1734cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 17354fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru VideoEditJava_EditSettingsFieldIds fieldIds; 1736cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobjectArray clipSettingsArray = NULL; 1737cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jsize clipSettingsArraySize = 0; 1738cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject clipSettings = NULL; 1739cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobjectArray transitionSettingsArray = NULL; 1740cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jsize transitionSettingsArraySize = 0; 1741cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject transitionSettings = NULL; 1742cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobjectArray effectSettingsArray = NULL; 1743cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jsize effectSettingsArraySize = 0; 1744cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject effectSettings = NULL; 1745cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject backgroundMusicSettings = NULL; 1746cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int audioChannels = 0; 1747cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_EditSettings* pSettings = M4OSA_NULL; 1748cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool converted = true; 17494fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru memset(&fieldIds, 0, sizeof(VideoEditJava_EditSettingsFieldIds)); 1750cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 1751cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1752cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1753cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 1754cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 1755cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_getEditSettings()"); 1756cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1757cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 1758cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getEditSettingsFieldIds(pResult, pEnv, &fieldIds); 1759cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1760cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1761cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only retrieve the EditSettings if the previous action succeeded. 1762cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1763cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1764cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the object is valid. 1765cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (NULL != object) 1766cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1767cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the clipSettingsArray. 1768cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getArray(pResult, pEnv, object, 1769cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.clipSettingsArray, 1770cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &clipSettingsArray, 1771cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &clipSettingsArraySize); 1772cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1773cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the transitionSettingsArray. 1774cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getArray(pResult, pEnv, object, 1775cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.transitionSettingsArray, 1776cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &transitionSettingsArray, 1777cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &transitionSettingsArraySize); 1778cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1779cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the effectSettingsArray. 1780cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getArray(pResult, pEnv, object, 1781cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.effectSettingsArray, 1782cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &effectSettingsArray, 1783cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &effectSettingsArraySize); 1784cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1785cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the backgroundMusicSettings. 1786cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getObject(pResult, pEnv, object, fieldIds.backgroundMusicSettings, 1787cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &backgroundMusicSettings); 1788cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1789cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the arrays and background music settings object could be retrieved. 1790cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1791cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1792cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the number of channels. 1793cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi audioChannels = pEnv->GetIntField(object, fieldIds.audioChannels); 1794cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1795cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1796cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1797cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1798cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only validate the EditSettings if the fields could be located. 1799cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1800cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1801cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if there is at least one clip. 1802cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi //videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1803cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // (clipSettingsArraySize < 1), 1804cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // "there should be at least one clip"); 1805cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if(clipSettingsArraySize < 1) { 1806cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi return; 1807cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1808cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if(flag) 1809cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1810cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if there are clips. 1811cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if ((clipSettingsArraySize != 0) || (transitionSettingsArraySize != 0)) 1812cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1813cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // The number of transitions must be equal to the number of clips - 1. 1814cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1815cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (clipSettingsArraySize != (transitionSettingsArraySize + 1)), 1816cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "the number of transitions should be equal to the number of clips - 1"); 1817cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1818cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1819cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1820cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1821cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only retrieve the EditSettings if the fields could be located. 1822cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1823cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1824cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the object is valid. 1825cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (NULL != object) 1826cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1827cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the EditSettings. 1828cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings = (M4VSS3GPP_EditSettings*)videoEditOsal_alloc(pResult, pEnv, 1829cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi sizeof(M4VSS3GPP_EditSettings), "EditSettings"); 1830cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1831cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory could be allocated for the EditSettings. 1832cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1833cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1834cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the number of clips that will be edited. 1835cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiClipNumber = clipSettingsArraySize; 1836cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1837cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the clip settings array contains items. 1838cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (clipSettingsArraySize > 0) 1839cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1840cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the clip settings array. 1841cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->pClipList = (M4VSS3GPP_ClipSettings **)videoEditOsal_alloc(pResult, 1842cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv, 1843cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi clipSettingsArraySize * sizeof(M4VSS3GPP_ClipSettings *), 1844cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "ClipSettingsArray"); 1845cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1846cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1847cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Loop over all clip settings objects. 1848cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; ((*pResult) && (i < clipSettingsArraySize)); i++) 1849cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1850cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Get the clip settings object. 1851cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi clipSettings = pEnv->GetObjectArrayElement(clipSettingsArray, i); 1852cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1853cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Get the clip settings. 1854cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_getClipSettings(pResult, pEnv, clipSettings, 1855cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &pSettings->pClipList[i]); 1856c96a7294a4ec7f807dbe0fd82a2ba2d58008304bwfeng 1857c96a7294a4ec7f807dbe0fd82a2ba2d58008304bwfeng // Free the local references to avoid memory leaks 1858c96a7294a4ec7f807dbe0fd82a2ba2d58008304bwfeng pEnv->DeleteLocalRef(clipSettings); 1859cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1860cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1861cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1862cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1863cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the transition settings array contains items. 1864cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (transitionSettingsArraySize > 0) 1865cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1866cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the transition settings array. 1867cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->pTransitionList = 1868cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VSS3GPP_TransitionSettings **)videoEditOsal_alloc(pResult, 1869cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv, transitionSettingsArraySize * sizeof(M4VSS3GPP_TransitionSettings *), 1870cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "TransitionSettingsArray"); 1871cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1872cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1873cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Loop over all transition settings objects. 1874cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; ((*pResult) && (i < transitionSettingsArraySize)); i++) 1875cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1876cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Get the transition settings object. 1877cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi transitionSettings = 1878cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->GetObjectArrayElement(transitionSettingsArray, i); 1879cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1880cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Get the transition settings. 1881cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_getTransitionSettings(pResult, pEnv, 1882cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi transitionSettings, &pSettings->pTransitionList[i]); 1883c96a7294a4ec7f807dbe0fd82a2ba2d58008304bwfeng 1884c96a7294a4ec7f807dbe0fd82a2ba2d58008304bwfeng // Free the local references to avoid memory leaks 1885c96a7294a4ec7f807dbe0fd82a2ba2d58008304bwfeng pEnv->DeleteLocalRef(transitionSettings); 1886cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1887cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1888cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1889cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1890cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the effect settings array contains items. 1891cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (effectSettingsArraySize > 0) 1892cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1893cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the effect settings array. 1894cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->Effects = (M4VSS3GPP_EffectSettings*)videoEditOsal_alloc(pResult, 1895cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv, 1896cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi effectSettingsArraySize * sizeof(M4VSS3GPP_EffectSettings), 1897cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "EffectSettingsArray"); 1898cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1899cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1900cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Loop over all effect settings objects. 1901cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; ((*pResult) && (i < effectSettingsArraySize)); i++) 1902cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1903cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Get the effect settings object. 1904cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi effectSettings = pEnv->GetObjectArrayElement(effectSettingsArray, i); 1905cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1906cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Get the effect settings. 1907cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_getEffectSettings(pResult, pEnv, effectSettings, 1908cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &pSettings->Effects[i]); 1909c96a7294a4ec7f807dbe0fd82a2ba2d58008304bwfeng 1910c96a7294a4ec7f807dbe0fd82a2ba2d58008304bwfeng // Free the local references to avoid memory leaks 1911c96a7294a4ec7f807dbe0fd82a2ba2d58008304bwfeng pEnv->DeleteLocalRef(effectSettings); 1912cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1913cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1914cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1915cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1916cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the clips, transitions and effects could be set. 1917cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1918cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1919cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the number of effects in the clip. 1920cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->nbEffects = (M4OSA_UInt8)effectSettingsArraySize; 1921cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1922cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the frame rate of the output video. 1923cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->videoFrameRate = 1924cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VIDEOEDITING_VideoFramerate)videoEditJava_getVideoFrameRateJavaToC( 1925cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.videoFrameRate)); 1926cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1927cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the frame rate is valid. 1928cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1929cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "editSettings.videoFrameRate is invalid"); 1930cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1931cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1932cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the frame rate could be set. 1933cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1934cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1935cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the path of the output file. 1936cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->pOutputFile = (M4OSA_Char*)videoEditJava_getString(pResult, pEnv, 1937cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi object, fieldIds.outputFile, &pSettings->uiOutputPathSize); 1938cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1939cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1940cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if path of the output file could be set. 1941cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1942cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1943cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the path of the temporary file produced when using 1944cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // the constant memory 3gp writer. 1945cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->pTemporaryFile = M4OSA_NULL; 1946cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1947cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the output video size. 1948cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.outputVideoSize = 1949cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VIDEOEDITING_VideoFrameSize)videoEditJava_getVideoFrameSizeJavaToC( 1950cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.videoFrameSize)); 1951cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1952cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the output video size is valid. 1953cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1954cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "editSettings.videoFrameSize is invalid"); 1955cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1956cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1957cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the output video size could be set. 1958cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1959cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1960cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the output video format. 1961cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.outputVideoFormat = 1962cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VIDEOEDITING_VideoFormat)videoEditJava_getVideoFormatJavaToC( 1963cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.videoFormat)); 1964cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1965cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the output video format is valid. 1966cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1967cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "editSettings.videoFormat is invalid"); 1968cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1969cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1970cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the output video format could be set. 1971cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1972cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1973cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the output audio format. 1974cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.outputAudioFormat = 1975cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VIDEOEDITING_AudioFormat)videoEditJava_getAudioFormatJavaToC( 1976cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.audioFormat)); 1977cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1978cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the output audio format is valid. 1979cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1980cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "editSettings.audioFormat is invalid"); 1981cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1982cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1983cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the output audio format could be set. 1984cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 1985cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 1986cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the output audio sampling frequency when not replacing the audio, 1987cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // or replacing it with MP3 audio. 1988cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.outputAudioSamplFreq = 1989cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VIDEOEDITING_AudioSamplingFrequency)\ 1990cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getAudioSamplingFrequencyJavaToC( 1991cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.audioSamplingFreq)); 1992cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1993cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the output audio sampling frequency is valid. 1994cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 1995cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "editSettings.audioSamplingFreq is invalid"); 1996cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 1997cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 1998cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the output audio sampling frequency could be set. 1999cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2000cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2001cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the number of audio channels is valid. 2002cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 2003cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi ((0 != audioChannels ) || 2004cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi ((M4VIDEOEDITING_kNoneAudio != pSettings->xVSS.outputAudioFormat) && 2005cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VIDEOEDITING_kNullAudio != pSettings->xVSS.outputAudioFormat) ) ) && 2006cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (1 != audioChannels ) && 2007cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (2 != audioChannels ), 2008cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "editSettings.audioChannels must be set to 0, 1 or 2"); 2009cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2010cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2011cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the number of audio channels is valid. 2012cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2013cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2014cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the maximum output file size (MMS usecase). 2015cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.outputFileSize = (M4OSA_UInt32)pEnv->GetIntField(object, 2016cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.maxFileSize); 2017cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2018cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Whether or not the audio is mono, only valid for AAC. 2019cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.bAudioMono = (M4OSA_Bool)(1 == audioChannels); 2020cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2021cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the output video bitrate. 2022cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.outputVideoBitrate = (M4OSA_UInt32)pEnv->GetIntField(object, 2023cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.videoBitrate); 2024cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 20253ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury // Set the output video profile. 20263ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pSettings->xVSS.outputVideoProfile = (M4OSA_UInt32)pEnv->GetIntField(object, 20273ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury fieldIds.videoProfile); 20283ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury 20293ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury // Set the output video level. 20303ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury pSettings->xVSS.outputVideoLevel = (M4OSA_UInt32)pEnv->GetIntField(object, 20313ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury fieldIds.videoLevel); 20323ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury 2033cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the output audio bitrate. 2034cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.outputAudioBitrate = (M4OSA_UInt32)pEnv->GetIntField(object, 2035cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.audioBitrate); 2036cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2037cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the background music settings. 2038cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_getBackgroundMusicSettings(pResult, pEnv, 2039cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi backgroundMusicSettings, &pSettings->xVSS.pBGMtrack); 2040cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2041cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the text rendering function (will be set elsewhere). 2042cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pTextRenderingFct = M4OSA_NULL; 2043cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->PTVolLevel = 2044cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_Float)pEnv->GetIntField(object, fieldIds.primaryTrackVolume); 2045cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2046cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2047cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2048cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if settings could be set. 2049cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2050cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2051cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the settings. 2052cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = pSettings; 2053cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2054cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2055cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2056cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings. 2057cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeEditSettings(&pSettings); 2058cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2059cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2060cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2061cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2062cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2063cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2064cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_freeEditSettings( 2065cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_EditSettings** ppSettings) 2066cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2067cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the EditSettings. 2068cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != (*ppSettings)) 2069cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2070cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 2071cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2072cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_freeEditSettings()"); 2073cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2074cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the background music settings. 2075cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeBackgroundMusicSettings(&(*ppSettings)->xVSS.pBGMtrack); 2076cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2077cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the path of the output file. 2078cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)->pOutputFile); 2079cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->pOutputFile = M4OSA_NULL; 2080cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->uiOutputPathSize = 0; 2081cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2082cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the EffectSettings should be freed. 2083cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != (*ppSettings)->Effects) 2084cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2085cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Loop over all effect settings. 2086cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; i < (*ppSettings)->nbEffects; i++) 2087cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2088cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the effect settings. 2089cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeEffectSettings(&(*ppSettings)->Effects[i]); 2090cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2091cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2092cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the memory for the effect settings array. 2093cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)->Effects); 2094cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->Effects = M4OSA_NULL; 2095cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2096cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2097cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Reset the number of effects in the clip. 2098cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->nbEffects = 0; 2099cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2100cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if there are clips. 2101cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (0 < (*ppSettings)->uiClipNumber) 2102cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2103cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the TransitionSettings should be freed. 2104cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != (*ppSettings)->pTransitionList) 2105cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2106cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Loop over all transition settings. 2107cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; i < ((*ppSettings)->uiClipNumber - 1); i++) 2108cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2109cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the transition settings. 2110cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeTransitionSettings(&(*ppSettings)->pTransitionList[i]); 2111cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2112cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2113cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the memory for the transition settings array. 2114cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)->pTransitionList); 2115cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->pTransitionList = M4OSA_NULL; 2116cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2117cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2118cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the ClipSettings should be freed. 2119cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != (*ppSettings)->pClipList) 2120cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2121cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Loop over all clip settings. 2122cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; i < (*ppSettings)->uiClipNumber; i++) 2123cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2124cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the clip settings. 2125cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeClipSettings(&(*ppSettings)->pClipList[i]); 2126cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2127cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2128cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the memory for the clip settings array. 2129cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)->pClipList); 2130cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->pClipList = M4OSA_NULL; 2131cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2132cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2133cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2134cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Reset the number of clips. 2135cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings)->uiClipNumber = 0; 2136cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2137cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings structure. 2138cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)); 2139cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = M4OSA_NULL; 2140cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2141cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2142cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2143cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 2144cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2145cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logEditSettings( 2146cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_EditSettings* pSettings, 2147cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 2148cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2149cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the EditSettings. 2150cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings) 2151cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2152cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2153cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiClipNumber: %d", indentation, ' ', 2154cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiClipNumber); 2155cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2156cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiMasterClip: %d", indentation, ' ', 2157cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiMasterClip); 2158cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2159cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pClipList: %s", indentation, ' ', 2160cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->pClipList) ? " " : "<null>"); 2161cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings->pClipList) 2162cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2163cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation += VIDEOEDIT_LOG_INDENTATION; 2164cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; i < pSettings->uiClipNumber; i++) 2165cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2166cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2167cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pClipList[%d]:", indentation, ' ', 2168cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi i); 2169cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_logClipSettings(pSettings->pClipList[i], 2170cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation + VIDEOEDIT_LOG_INDENTATION); 2171cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2172cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation -= VIDEOEDIT_LOG_INDENTATION; 2173cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2174cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2175cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pTransitionList: %s", indentation, ' ', 2176cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->pTransitionList) ? " " : "<null>"); 2177cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings->pTransitionList) 2178cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2179cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation += VIDEOEDIT_LOG_INDENTATION; 2180cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; i < (pSettings->uiClipNumber - 1); i++) 2181cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2182cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2183cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pTransitionList[%d]:", indentation, ' ', i); 2184cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_logTransitionSettings(pSettings->pTransitionList[i], 2185cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation + VIDEOEDIT_LOG_INDENTATION); 2186cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2187cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation -= VIDEOEDIT_LOG_INDENTATION; 2188cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2189cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2190cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c Effects: %s", indentation, ' ', 2191cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->Effects) ? " " : "<null>"); 2192cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings->Effects) 2193cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2194cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation += VIDEOEDIT_LOG_INDENTATION; 2195cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (int i = 0; i < pSettings->nbEffects; i++) 2196cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2197cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2198cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c Effects[%d]:", indentation, ' ', i); 2199cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_logEffectSettings(&pSettings->Effects[i], 2200cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation + VIDEOEDIT_LOG_INDENTATION); 2201cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2202cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation -= VIDEOEDIT_LOG_INDENTATION; 2203cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2204cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2205cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c nbEffects: %d", indentation, ' ', 2206cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->nbEffects); 2207cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2208cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c videoFrameRate: %s", indentation, ' ', 2209cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVideoFrameRateString(pSettings->videoFrameRate)); 2210cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2211cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pOutputFile: %s", indentation, ' ', 2212cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->pOutputFile) ? (char*)pSettings->pOutputFile : "<null>"); 2213cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2214cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiOutputPathSize: %u", indentation, ' ', 2215cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->uiOutputPathSize); 2216cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2217cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pTemporaryFile: %s", indentation, ' ', 2218cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->pTemporaryFile) ?\ 2219cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (char*)pSettings->pTemporaryFile : "<null>"); 2220cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2221cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c outputVideoSize: %s", indentation, ' ', 2222cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVideoFrameSizeString(pSettings->xVSS.outputVideoSize)); 2223cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2224cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c outputVideoFormat: %s", indentation, ' ', 2225cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVideoFormatString(pSettings->xVSS.outputVideoFormat)); 2226cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 22273ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury "%*c outputVideoProfile: %u", indentation, ' ', 22283ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury videoEditJava_getVideoFormatString(pSettings->xVSS.outputVideoProfile)); 22293ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 22303ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury "%*c outputVideoLevel: %u", indentation, ' ', 22313ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury videoEditJava_getVideoFormatString(pSettings->xVSS.outputVideoLevel)); 22323ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2233cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c outputAudioFormat: %s", indentation, ' ', 2234cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getAudioFormatString(pSettings->xVSS.outputAudioFormat)); 2235cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2236cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c outputAudioSamplFreq: %s", indentation, ' ', 2237cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getAudioSamplingFrequencyString(pSettings->xVSS.outputAudioSamplFreq)); 2238cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2239cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c outputFileSize: %u", indentation, ' ', 2240cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.outputFileSize); 2241cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2242cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bAudioMono: %s", indentation, ' ', 2243cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.bAudioMono ? "true" : "false"); 2244cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2245cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c outputVideoBitrate: %s", indentation, ' ', 2246cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getBitrateString(pSettings->xVSS.outputVideoBitrate)); 2247cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2248cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c outputAudioBitrate: %s", indentation, ' ', 2249cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getBitrateString(pSettings->xVSS.outputAudioBitrate)); 2250cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2251cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pBGMtrack:", indentation, ' '); 2252cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_logBackgroundMusicSettings(pSettings->xVSS.pBGMtrack, 2253cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation + VIDEOEDIT_LOG_INDENTATION); 2254cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2255cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pTextRenderingFct: %s", indentation, ' ', 2256cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->xVSS.pTextRenderingFct) ? "set" : "<null>"); 2257cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2258cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c PTVolLevel: %u", indentation, ' ', 2259cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->PTVolLevel); 2260cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2261cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2262cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2263cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2264cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c <null>", indentation, ' '); 2265cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2266cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2267cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 2268cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2269cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2270cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2271cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getEffectSettings( 2272cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 2273cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 2274cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object, 2275cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_EffectSettings* pSettings) 2276cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 22774fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru 22784fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru VideoEditJava_EffectSettingsFieldIds fieldIds; 2279cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool converted = true; 22804fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru memset(&fieldIds, 0, sizeof(VideoEditJava_EffectSettingsFieldIds)); 2281cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2282cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 2283cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2284cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2285cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 2286cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2287cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_getEffectSettings()"); 2288cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2289cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 2290cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getEffectSettingsFieldIds(pResult, pEnv, &fieldIds); 2291cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2292cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2293cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only validate the EffectSettings if the fields could be located. 2294cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2295cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2296cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the effect is set. 2297cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 2298cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (NULL == object), 2299cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "effect is null"); 2300cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2301cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2302cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only retrieve the EffectSettings if the fields could be located and validated. 2303cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2304cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2305cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the start time in milliseconds. 2306cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiStartTime = (M4OSA_UInt32)pEnv->GetIntField(object, fieldIds.startTime); 2307cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2308cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the duration in milliseconds. 2309cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiDuration = (M4OSA_UInt32)pEnv->GetIntField(object, fieldIds.duration); 2310cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2311cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the video effect type, None, FadeIn, FadeOut, etc. 2312cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->VideoEffectType = 2313cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VSS3GPP_VideoEffectType)videoEditJava_getVideoEffectJavaToC( 2314cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.videoEffectType)); 2315cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2316cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the video effect type is valid. 2317cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 2318cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "effect.videoEffectType is invalid"); 2319cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2320cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2321cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the video effect type could be set. 2322cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2323cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2324cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the external effect function. 2325cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ExtVideoEffectFct = M4OSA_NULL; 2326cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2327cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the context given to the external effect function. 2328cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->pExtVideoEffectFctCtxt = M4OSA_NULL; 2329cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2330cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the audio effect type, None, FadeIn, FadeOut. 2331cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->AudioEffectType = 2332cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VSS3GPP_AudioEffectType)videoEditJava_getAudioEffectJavaToC( 2333cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.audioEffectType)); 2334cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2335cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the audio effect type is valid. 2336cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 2337cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "effect.audioEffectType is invalid"); 2338cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2339cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2340cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the audio effect type could be set. 2341cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2342cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2343cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the start in percentage of the cut clip duration. 2344cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiStartPercent = (M4OSA_UInt32)pEnv->GetIntField(object, 2345cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.startPercent); 2346cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2347cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the duration in percentage of the ((clip duration) - (effect starttime)). 2348cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiDurationPercent = (M4OSA_UInt32)pEnv->GetIntField(object, 2349cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.durationPercent); 2350cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2351cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the framing file path (GIF/PNG file). 2352cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pFramingFilePath = (M4OSA_Char*)videoEditJava_getString(pResult, pEnv, 2353cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi object, fieldIds.framingFile, M4OSA_NULL); 2354cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2355cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if this is a framing effect. 2356cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4xVSS_kVideoEffectType_Framing == (M4xVSS_VideoEffectType)pSettings->VideoEffectType) 2357cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2358cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the framing file path is valid. 2359cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 2360cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL == pSettings->xVSS.pFramingFilePath), "effect.framingFile is null"); 2361cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2362cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2363cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2364cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the framing file path could be retrieved. 2365cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2366cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2367cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the Framing RGB565 buffer. 2368cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pFramingBuffer = M4OSA_NULL; 2369cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2370cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the top-left X coordinate in the output picture 2371cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // where the added frame will be displayed. 2372cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.topleft_x = (M4OSA_UInt32)pEnv->GetIntField(object, fieldIds.topLeftX); 2373cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2374cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the top-left Y coordinate in the output picture 2375cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // where the added frame will be displayed. 2376cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.topleft_y = (M4OSA_UInt32)pEnv->GetIntField(object, fieldIds.topLeftY); 2377cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2378cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set whether or not the framing image is resized to output video size. 2379cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.bResize = 2380cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_Bool)pEnv->GetBooleanField(object, fieldIds.framingResize); 2381cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2382cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the new size to which framing buffer needs to be resized to 2383cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.framingScaledSize = 2384cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VIDEOEDITING_VideoFrameSize)pEnv->GetIntField(object, fieldIds.framingScaledSize); 2385cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2386cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the text buffer. 2387cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pTextBuffer = (M4OSA_Char*)videoEditJava_getString(pResult, pEnv, object, 2388cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.text, &pSettings->xVSS.textBufferSize); 2389cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2390cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2391cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the text buffer could be retrieved. 2392cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2393cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2394cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the data used by the font engine (size, color...). 2395cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pRenderingData = (M4OSA_Char*)videoEditJava_getString(pResult, pEnv, 2396cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi object, fieldIds.textRenderingData, M4OSA_NULL); 2397cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2398cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2399cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the text rendering data could be retrieved. 2400cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2401cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2402cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the text plane width. 2403cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiTextBufferWidth = (M4OSA_UInt32)pEnv->GetIntField(object, 2404cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.textBufferWidth); 2405cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2406cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the text plane height. 2407cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiTextBufferHeight = (M4OSA_UInt32)pEnv->GetIntField(object, 2408cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.textBufferHeight); 2409cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2410cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the processing rate of the effect added when using the Fifties effect. 2411cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiFiftiesOutFrameRate = (M4OSA_UInt32)pEnv->GetIntField(object, 2412cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.fiftiesFrameRate); 2413cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2414cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the RGB16 input color of the effect added when using the rgb16 color effect. 2415cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiRgb16InputColor = (M4OSA_UInt16)pEnv->GetIntField(object, 2416cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.rgb16InputColor); 2417cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2418cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the start percentage of Alpha blending. 2419cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingStart = (M4OSA_UInt8)pEnv->GetIntField(object, 2420cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.alphaBlendingStartPercent); 2421cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2422cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the middle percentage of Alpha blending. 2423cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingMiddle = (M4OSA_UInt8)pEnv->GetIntField(object, 2424cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.alphaBlendingMiddlePercent); 2425cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2426cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the end percentage of Alpha blending. 2427cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingEnd = (M4OSA_UInt8)pEnv->GetIntField(object, 2428cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.alphaBlendingEndPercent); 2429cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2430cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the duration, in percentage of effect duration, of the FadeIn phase. 2431cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingFadeInTime = (M4OSA_UInt8)pEnv->GetIntField(object, 2432cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.alphaBlendingFadeInTimePercent); 2433cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2434cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the duration, in percentage of effect duration, of the FadeOut phase. 2435cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingFadeOutTime = (M4OSA_UInt8)pEnv->GetIntField(object, 2436cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.alphaBlendingFadeOutTimePercent); 2437cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2438cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (pSettings->xVSS.pFramingFilePath != M4OSA_NULL) 2439cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2440cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pFramingBuffer = 2441c0125dd4f1f8bb03ad16138f86d55ed3305240c4Shyam Pallapothu (M4VIFI_ImagePlane *)M4OSA_32bitAlignedMalloc(sizeof(M4VIFI_ImagePlane), 2442cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 0x00,(M4OSA_Char *)"framing buffer"); 2443cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2444cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2445cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (pSettings->xVSS.pFramingBuffer != M4OSA_NULL) 2446cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2447cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // OverFrame height and width 2448cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pFramingBuffer->u_width = pEnv->GetIntField(object, 2449cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.width); 2450cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2451cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pFramingBuffer->u_height = pEnv->GetIntField(object, 2452cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.height); 2453cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2454cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.width = pSettings->xVSS.pFramingBuffer->u_width; 2455cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.height = pSettings->xVSS.pFramingBuffer->u_height; 2456c16ccc1c5a6293136ae9bd4756dc2f57914a2020Dharmaray Kundargi pSettings->xVSS.rgbType = M4VSS3GPP_kRGB565; 2457cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2458cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2459cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "pFramingBuffer u_width %d ", pSettings->xVSS.pFramingBuffer->u_width); 2460cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2461cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "pFramingBuffer u_height %d", pSettings->xVSS.pFramingBuffer->u_height); 2462cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2463cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2464cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2465cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if settings could be set. 2466cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (!(*pResult)) 2467cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2468cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings. 2469cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeEffectSettings(pSettings); 2470cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2471cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2472cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2473cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2474cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2475cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_freeEffectSettings( 2476cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_EffectSettings* pSettings) 2477cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2478cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the EffectSettings. 2479cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings) 2480cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2481cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 2482cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2483cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_freeEffectSettings()"); 2484cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2485cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the data used by the font engine (size, color...). 2486cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free(pSettings->xVSS.pRenderingData); 2487cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pRenderingData = M4OSA_NULL; 2488cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2489cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the text buffer. 2490cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free(pSettings->xVSS.pTextBuffer); 2491cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pTextBuffer = M4OSA_NULL; 2492cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.textBufferSize = 0; 2493cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2494cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the framing file path. 2495cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free(pSettings->xVSS.pFramingFilePath); 2496cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.pFramingFilePath = M4OSA_NULL; 2497cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2498cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2499cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2500cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 2501cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2502cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logEffectSettings( 2503cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_EffectSettings* pSettings, 2504cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 2505cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2506cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the EffectSettings. 2507cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings) 2508cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2509cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2510cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiStartTime: %u ms", indentation, ' ', 2511cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->uiStartTime); 2512cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2513cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiDuration: %u ms", indentation, ' ', 2514cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->uiDuration); 2515cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2516cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c VideoEffectType: %s", indentation, ' ', 2517cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVideoEffectString(pSettings->VideoEffectType)); 2518cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2519cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c ExtVideoEffectFct: %s", indentation, ' ', 2520cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->ExtVideoEffectFct) ? "set" : "<null>"); 2521cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2522cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pExtVideoEffectFctCtxt: %s", indentation, ' ', 2523cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->pExtVideoEffectFctCtxt) ? "set" : "<null>"); 2524cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2525cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c AudioEffectType: %s", indentation, ' ', 2526cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getAudioEffectString(pSettings->AudioEffectType)); 2527cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2528cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiStartPercent: %u %%", indentation, ' ', 2529cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.uiStartPercent); 2530cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2531cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiDurationPercent: %u %%", indentation, ' ', 2532cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.uiDurationPercent); 2533cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2534cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pFramingFilePath: %s", indentation, ' ', 2535cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->xVSS.pFramingFilePath) ?\ 2536cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (char*)pSettings->xVSS.pFramingFilePath : "<null>"); 2537cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2538cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pFramingBuffer: %s", indentation, ' ', 2539cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->xVSS.pFramingBuffer) ? "set" : "<null>"); 2540cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2541cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c topleft_x: %u", indentation, ' ', 2542cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.topleft_x); 2543cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2544cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c topleft_y: %u", indentation, ' ', 2545cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.topleft_y); 2546cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2547cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c bResize: %s", indentation, ' ', 2548cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.bResize ? "true" : "false"); 2549cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2550cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pTextBuffer: %s", indentation, ' ', 2551cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->xVSS.pTextBuffer) ?\ 2552cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (char*)pSettings->xVSS.pTextBuffer : "<null>"); 2553cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2554cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c textBufferSize: %u", indentation, ' ', 2555cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.textBufferSize); 2556cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2557cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pRenderingData: %s", indentation, ' ', 2558cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->xVSS.pRenderingData) ?\ 2559cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (char*)pSettings->xVSS.pRenderingData : "<null>"); 2560cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2561cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiTextBufferWidth: %u", indentation, ' ', 2562cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.uiTextBufferWidth); 2563cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2564cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiTextBufferHeight: %u", indentation, ' ', 2565cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.uiTextBufferHeight); 2566cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2567cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiFiftiesOutFrameRate: %u", indentation, ' ', 2568cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->xVSS.uiFiftiesOutFrameRate); 2569cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2570cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiRgb16InputColor: %d", indentation, ' ', 2571cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uiRgb16InputColor); 2572cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2573cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uialphaBlendingStart: %d %%", indentation, ' ', 2574cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingStart); 2575cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2576cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uialphaBlendingMiddle: %d %%", indentation, ' ', 2577cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingMiddle); 2578cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2579cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uialphaBlendingEnd: %d %%", indentation, ' ', 2580cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingEnd); 2581cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2582cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uialphaBlendingFadeInTime: %d %%", indentation, ' ', 2583cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingFadeInTime); 2584cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2585cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uialphaBlendingFadeOutTime: %d %%", indentation, ' ', 2586cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->xVSS.uialphaBlendingFadeOutTime); 2587cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2588cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2589cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2590cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2591cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c <null>", indentation, ' '); 2592cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2593cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2594cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 2595cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2596cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2597cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2598cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getSlideTransitionSettings( 2599cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 2600cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 2601cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object, 2602cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_SlideTransitionSettings** ppSettings) 2603cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2604cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VideoEditJava_SlideTransitionSettingsFieldIds fieldIds = {NULL}; 2605cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_SlideTransitionSettings* pSettings = M4OSA_NULL; 2606cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool converted = true; 2607cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2608cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 2609cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2610cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2611cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 2612cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2613cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_getSlideTransitionSettings()"); 2614cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2615cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 2616cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getSlideTransitionSettingsFieldIds(pResult, pEnv, &fieldIds); 2617cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2618cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2619cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2620cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only validate the SlideTransitionSettings if the fields could be located. 2621cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2622cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2623cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the clip is set. 2624cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 2625cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (NULL == object), 2626cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "slideSettings is null"); 2627cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2628cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2629cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only retrieve the SlideTransitionSettings if the fields could be located and validated. 2630cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2631cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2632cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the SlideTransitionSettings. 2633cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings = (M4xVSS_SlideTransitionSettings*)videoEditOsal_alloc(pResult, pEnv, 2634cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi sizeof(M4xVSS_SlideTransitionSettings), "SlideTransitionSettings"); 2635cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2636cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory could be allocated for the SlideTransitionSettings. 2637cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2638cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2639cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the direction of the slide. 2640cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->direction = 2641cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4xVSS_SlideTransition_Direction)videoEditJava_getSlideDirectionJavaToC( 2642cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.direction)); 2643cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2644cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the direction is valid. 2645cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 2646cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi !converted, "slideSettings.direction is invalid"); 2647cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2648cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2649cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if settings could be set. 2650cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2651cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2652cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the settings. 2653cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = pSettings; 2654cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2655cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2656cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2657cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings. 2658cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeSlideTransitionSettings(&pSettings); 2659cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2660cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2661cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2662cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2663cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2664cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_freeSlideTransitionSettings( 2665cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_SlideTransitionSettings** ppSettings) 2666cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2667cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the SlideTransitionSettings. 2668cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != (*ppSettings)) 2669cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2670cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 2671cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2672cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_freeSlideTransitionSettings()"); 2673cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2674cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings structure. 2675cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)); 2676cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = M4OSA_NULL; 2677cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2678cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2679cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2680cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 2681cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2682cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logSlideTransitionSettings( 2683cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4xVSS_SlideTransitionSettings* pSettings, 2684cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 2685cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2686cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the SlideTransitionSettings. 2687cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings) 2688cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2689cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2690cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c direction: %s", indentation, ' ', 2691cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getSlideDirectionString(pSettings->direction)); 2692cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2693cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2694cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2695cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2696cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c <null>", indentation, ' '); 2697cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2698cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2699cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 2700cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2701cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2702cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2703cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getTransitionSettings( 2704cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 2705cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 2706cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object, 2707cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_TransitionSettings** ppSettings) 2708cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 27094fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru 27104fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru VideoEditJava_TransitionSettingsFieldIds fieldIds; 2711cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject alphaSettings = NULL; 2712cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject slideSettings = NULL; 2713cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_TransitionSettings* pSettings = M4OSA_NULL; 2714cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool converted = true; 27154fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru memset(&fieldIds, 0, sizeof(VideoEditJava_TransitionSettingsFieldIds)); 2716cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2717cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 2718cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2719cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2720cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 2721cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2722cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_getTransitionSettings()"); 2723cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2724cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 2725cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getTransitionSettingsFieldIds(pResult, pEnv, &fieldIds); 2726cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2727cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2728cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only validate the TransitionSettings if the fields could be located. 2729cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2730cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2731cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the transition is set. 2732cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, 2733cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (NULL == object), 2734cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "transition is null"); 2735cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2736cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2737cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the field ids could be located and validated. 2738cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2739cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2740cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the alphaSettings. 2741cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getObject(pResult, pEnv, object, fieldIds.alphaSettings, &alphaSettings); 2742cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2743cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the slideSettings. 2744cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getObject(pResult, pEnv, object, fieldIds.slideSettings, &slideSettings); 2745cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2746cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2747cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only retrieve the TransitionSettings if the fields could be located. 2748cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2749cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2750cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the TransitionSettings. 2751cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings = (M4VSS3GPP_TransitionSettings*)videoEditOsal_alloc(pResult, 2752cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv, sizeof(M4VSS3GPP_TransitionSettings), "TransitionSettings"); 2753cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2754cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory could be allocated for the TransitionSettings. 2755cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2756cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2757cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the duration of the transition, in milliseconds (set to 0 to get no transition). 2758cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->uiTransitionDuration = (M4OSA_UInt32)pEnv->GetIntField(object, 2759cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi fieldIds.duration); 2760cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2761cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the type of the video transition. 2762cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->VideoTransitionType = 2763cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VSS3GPP_VideoTransitionType)videoEditJava_getVideoTransitionJavaToC( 2764cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.videoTransitionType)); 2765cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2766cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the video transition type is valid. 2767cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, !converted, 2768cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "transition.videoTransitionType is invalid"); 2769cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2770cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2771cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the video transition type could be set. 2772cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2773cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2774cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the external transition video effect function. 2775cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->ExtVideoTransitionFct = M4OSA_NULL; 2776cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2777cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the context of the external transition video effect function. 2778cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->pExtVideoTransitionFctCtxt = M4OSA_NULL; 2779cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2780cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the type of the audio transition. 2781cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->AudioTransitionType = 2782cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VSS3GPP_AudioTransitionType)videoEditJava_getAudioTransitionJavaToC( 2783cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.audioTransitionType)); 2784cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2785cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the audio transition type is valid. 2786cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, !converted, 2787cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "transition.audioTransitionType is invalid"); 2788cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2789cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2790cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the audio transition type could be set. 2791cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2792cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2793cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the transition behaviour. 2794cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pSettings->TransitionBehaviour = 2795cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4VSS3GPP_TransitionBehaviour)videoEditJava_getTransitionBehaviourJavaToC( 2796cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &converted, pEnv->GetIntField(object, fieldIds.transitionBehaviour)); 2797cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2798cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the transition behaviour is valid. 2799cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowIllegalArgumentException(pResult, pEnv, !converted, 2800cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "transition.transitionBehaviour is invalid"); 2801cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2802cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2803cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the audio transition behaviour could be set. 2804cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2805cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2806cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if a slide transition or alpha magic setting object is expected. 2807cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if ((int)pSettings->VideoTransitionType == M4xVSS_kVideoTransitionType_SlideTransition) 2808cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2809cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the slide transition settings. 2810cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_getSlideTransitionSettings(pResult, pEnv, slideSettings, 2811cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &pSettings->xVSS.transitionSpecific.pSlideTransitionSettings); 2812cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2813cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else if ((int)pSettings->VideoTransitionType == M4xVSS_kVideoTransitionType_AlphaMagic) 2814cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2815cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the alpha magic settings. 2816cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_getAlphaMagicSettings(pResult, pEnv, alphaSettings, 2817cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &pSettings->xVSS.transitionSpecific.pAlphaMagicSettings); 2818cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2819cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2820cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2821cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if settings could be set. 2822cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 2823cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2824cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the settings. 2825cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = pSettings; 2826cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2827cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2828cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2829cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings. 2830cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeTransitionSettings(&pSettings); 2831cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2832cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2833cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2834cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2835cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2836cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_freeTransitionSettings( 2837cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_TransitionSettings** ppSettings) 2838cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2839cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the TransitionSettings. 2840cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != (*ppSettings)) 2841cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2842cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 2843cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2844cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_freeTransitionSettings()"); 2845cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2846cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if a slide transition or alpha magic setting structure is expected. 2847cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if ((int)(*ppSettings)->VideoTransitionType == M4xVSS_kVideoTransitionType_SlideTransition) 2848cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2849cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the slide transition settings. 2850cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeSlideTransitionSettings( 2851cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &(*ppSettings)->xVSS.transitionSpecific.pSlideTransitionSettings); 2852cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2853cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2854cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2855cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the alpha magic settings. 2856cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_freeAlphaMagicSettings( 2857cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi &(*ppSettings)->xVSS.transitionSpecific.pAlphaMagicSettings); 2858cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2859cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2860cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the settings structure. 2861cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditOsal_free((*ppSettings)); 2862cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*ppSettings) = M4OSA_NULL; 2863cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2864cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2865cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2866cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 2867cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2868cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logTransitionSettings( 2869cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4VSS3GPP_TransitionSettings* pSettings, 2870cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 2871cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2872cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the TransitionSettings. 2873cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pSettings) 2874cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2875cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2876cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiTransitionDuration: %u ms", indentation, ' ', 2877cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pSettings->uiTransitionDuration); 2878cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2879cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c VideoTransitionType: %s", indentation, ' ', 2880cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVideoTransitionString(pSettings->VideoTransitionType)); 2881cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2882cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c ExtVideoTransitionFct: %s", indentation, ' ', 2883cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->ExtVideoTransitionFct) ? "set" : "<null>"); 2884cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2885cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pExtVideoTransitionFctCtxt: %s", indentation, ' ', 2886cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_NULL != pSettings->pExtVideoTransitionFctCtxt) ? "set" : "<null>"); 2887cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2888cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c AudioTransitionType: %s", indentation, ' ', 2889cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getAudioTransitionString(pSettings->AudioTransitionType)); 2890cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2891cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c TransitionBehaviour: %s", indentation, ' ', 2892cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getTransitionBehaviourString(pSettings->TransitionBehaviour)); 2893cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2894cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if a slide transition or alpha magic setting structure is expected. 2895cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if ((int)pSettings->VideoTransitionType == M4xVSS_kVideoTransitionType_SlideTransition) 2896cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2897cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the slide transition settings. 2898cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2899cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pSlideTransitionSettings:", indentation, ' '); 2900cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_logSlideTransitionSettings\ 2901cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (pSettings->xVSS.transitionSpecific.pSlideTransitionSettings, 2902cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation + VIDEOEDIT_LOG_INDENTATION); 2903cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2904cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2905cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2906cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the alpha magic settings. 2907cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2908cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c pAlphaMagicSettings:", indentation, ' '); 2909cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditClasses_logAlphaMagicSettings\ 2910cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (pSettings->xVSS.transitionSpecific.pAlphaMagicSettings, 2911cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi indentation + VIDEOEDIT_LOG_INDENTATION); 2912cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2913cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2914cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2915cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2916cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 2917cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c <null>", indentation, ' '); 2918cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2919cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2920cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 2921cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 2922cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2923cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditPropClass_logProperties( 2924cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VideoEditPropClass_Properties* pProperties, 2925cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 2926cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 2927cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the Properties. 2928cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pProperties) 2929cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2930cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2931cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiClipDuration: %u", indentation, ' ', 2932cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiClipDuration); 2933cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2934cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c FileType: %s", indentation, ' ', 2935cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getFileTypeString(pProperties->FileType)); 2936cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2937cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2938cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c VideoStreamType: %s", indentation, ' ', 2939cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVideoFormatString(pProperties->VideoStreamType)); 2940cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2941cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiClipVideoDuration: %u", indentation, ' ', 2942cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiClipVideoDuration); 2943cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2944cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2945cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiVideoBitrate: %s", indentation, ' ', 2946cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getBitrateString(pProperties->uiVideoBitrate)); 2947cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2948cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2949cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiVideoWidth: %u", indentation, ' ', 2950cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiVideoWidth); 2951cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2952cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2953cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiVideoHeight: %u", indentation, ' ', 2954cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)(unsigned int)pProperties->uiVideoHeight); 2955cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2956cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2957cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c fAverageFrameRate: %.3f", indentation, ' ', 2958cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pProperties->fAverageFrameRate); 2959cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2960cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2961cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c AudioStreamType: %s", indentation, ' ', 2962cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getAudioFormatString(pProperties->AudioStreamType)); 2963cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2964cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2965cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiClipAudioDuration: %u", indentation, ' ', 2966cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiClipAudioDuration); 2967cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2968cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2969cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiAudioBitrate: %s", indentation, ' ', 2970cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getBitrateString(pProperties->uiAudioBitrate)); 2971cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2972cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2973cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiNbChannels: %u", indentation, ' ', 2974cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiNbChannels); 2975cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2976cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2977cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c uiSamplingFrequency: %u", indentation, ' ', 2978cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pProperties->uiSamplingFrequency); 2979cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2980cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 2981cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 2982cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_PROP_CLASSES", 2983cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c <null>", indentation, ' '); 2984cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 2985cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 2986cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 2987cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2988cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 2989cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 2990cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_createVersion( 2991cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 2992cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 2993cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4_VersionInfo* pVersionInfo, 2994cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject* pObject) 2995cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 29964fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru 29974fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru VideoEditJava_VersionFieldIds fieldIds; 2998cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jclass clazz = NULL; 2999cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object = NULL; 30004fad6762c6429379c4f7fe5d78e84d0718f52817Basavapatna Dattaguru memset(&fieldIds, 0, sizeof(VideoEditJava_VersionFieldIds)); 3001cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 3002cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 3003cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 3004cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 3005cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 3006cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_createVersion()"); 3007cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3008cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the class. 3009cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVersionClass(pResult, pEnv, &clazz); 3010cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3011cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 3012cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getVersionFieldIds(pResult, pEnv, &fieldIds); 3013cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 3014cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3015cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Only create an object if the class and fields could be located. 3016cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 3017cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 3018cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate a new object. 3019cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi object = pEnv->AllocObject(clazz); 3020cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3021cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // check if alloc is done 3022cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_checkAndThrowRuntimeException(pResult, pEnv, 3023cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (NULL == object), 3024cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4ERR_ALLOC); 3025cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (NULL != object) 3026cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 3027cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the major field. 3028cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.major, pVersionInfo->m_major); 3029cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3030cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the minor field. 3031cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.minor, pVersionInfo->m_minor); 3032cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3033cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the revision field. 3034cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.revision, pVersionInfo->m_revision); 3035cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3036cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the object. 3037cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*pObject) = object; 3038cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 3039cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 3040cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 3041cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3042cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef VIDEOEDIT_LOGGING_ENABLED 3043cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 3044cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_logVersion( 3045cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4_VersionInfo* pVersionInfo, 3046cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int indentation) 3047cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 3048cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated for the Version. 3049cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pVersionInfo) 3050cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 3051cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 3052cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c major: %u ms", indentation, ' ', 3053cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pVersionInfo->m_major); 3054cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 3055cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c minor: %u", indentation, ' ', 3056cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pVersionInfo->m_minor); 3057cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 3058cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c revision: %u", indentation, ' ', 3059cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (unsigned int)pVersionInfo->m_revision); 3060cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 3061cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 3062cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 3063cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_SETTING(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 3064cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "%*c <null>", indentation, ' '); 3065cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 3066cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 3067cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 3068cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3069cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3070cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid* 3071cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_getContext( 3072cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 3073cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 3074cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object) 3075cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 3076cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi void* pContext = M4OSA_NULL; 3077cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jclass clazz = NULL; 3078cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VideoEditJava_EngineFieldIds fieldIds = {NULL}; 3079cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3080cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 3081cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 3082cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 3083cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 3084cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 3085cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_getContext()"); 3086cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3087cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the class. 3088cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getEngineClass(pResult, pEnv, &clazz); 3089cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3090cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 3091cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getEngineFieldIds(pResult, pEnv, &fieldIds); 3092cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 3093cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3094cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the class and field ids could be located. 3095cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 3096cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 3097cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the context pointer. 3098cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pContext = (void *)pEnv->GetIntField(object, fieldIds.context); 3099cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 3100cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3101cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the context pointer. 3102cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi return(pContext); 3103cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 3104cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3105cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 3106cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditClasses_setContext( 3107cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 3108cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 3109cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jobject object, 3110cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi void* pContext) 3111cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 3112cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jclass clazz = NULL; 3113cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VideoEditJava_EngineFieldIds fieldIds = {NULL}; 3114cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3115cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 3116cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 3117cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 3118cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the function call. 3119cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 3120cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "videoEditClasses_setContext()"); 3121cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3122cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the class. 3123cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getEngineClass(pResult, pEnv, &clazz); 3124cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3125cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Retrieve the field ids. 3126cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi videoEditJava_getEngineFieldIds(pResult, pEnv, &fieldIds); 3127cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 3128cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3129cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the class and field ids could be located. 3130cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 3131cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 3132cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the context field. 3133cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 3134cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "The context value from JAVA before setting is = 0x%x", 3135cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->GetIntField(object, fieldIds.context)); 3136cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3137cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->SetIntField(object, fieldIds.context, (int)pContext); 3138cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_TRACE1_1("The context value in JNI is = 0x%x",pContext); 3139cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3140cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_CLASSES", 3141cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi "The context value from JAVA after setting is = 0x%x", 3142cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pEnv->GetIntField(object, fieldIds.context)); 3143cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 3144cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 3145cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 3146