VideoEditorOsal.cpp revision 87eac99a21772ae56018cb81db6966557b459554
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 1787eac99a21772ae56018cb81db6966557b459554Ruben Brunk#define LOG_TAG "VideoEditorOsal" 1887eac99a21772ae56018cb81db6966557b459554Ruben Brunk 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_Thread.h> 31cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4xVSS_API.h> 32cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4VSS3GPP_ErrorCodes.h> 33cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4MCS_ErrorCodes.h> 34cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4READER_Common.h> 35cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4WRITER_common.h> 36cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4VSS3GPP_API.h> 37cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#include <M4DECODER_Common.h> 38cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 39cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 40cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 41cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#define VIDEOEDIT_OSAL_RESULT_STRING_MAX (32) 42cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 43cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#define VIDEOEDIT_OSAL_RESULT_INIT(m_result) { m_result, #m_result } 44cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 45cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 46cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargitypedef struct 47cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 48cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_ERR result; 49cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi const char* pName; 50cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} VideoEdit_Osal_Result; 51cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 52cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargistatic const VideoEdit_Osal_Result gkRESULTS[] = 53cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 54cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4OSA_Clock.h 55cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_TIMESCALE_TOO_BIG ), 56cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_CLOCK_BAD_REF_YEAR ), 57cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 58cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4OSA_Error.h 59cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4NO_ERROR ), 60cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_PARAMETER ), 61cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_STATE ), 62cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_ALLOC ), 63cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_BAD_CONTEXT ), 64cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_CONTEXT_FAILED ), 65cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_BAD_STREAM_ID ), 66cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_BAD_OPTION_ID ), 67cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_WRITE_ONLY ), 68cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_READ_ONLY ), 69cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_NOT_IMPLEMENTED ), 70cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_UNSUPPORTED_MEDIA_TYPE ), 71cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_NO_DATA_YET ), 72cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_NO_MORE_STREAM ), 73cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_INVALID_TIME ), 74cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_NO_MORE_AU ), 75cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_TIME_OUT ), 76cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_BUFFER_FULL ), 77cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_REDIRECT ), 78cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_TOO_MUCH_STREAMS ), 79cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 80cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4OSA_FileCommon.h 81cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_FILE_NOT_FOUND ), 82cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_FILE_LOCKED ), 83cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_FILE_BAD_MODE_ACCESS ), 84cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_FILE_INVALID_POSITION ), 85cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 86cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4OSA_Thread.h 87cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_THREAD_NOT_STARTED ), 88cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 89cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4xVSS_API.h 90cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_WAR_ANALYZING_DONE ), 91cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_WAR_PREVIEW_READY ), 92cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_WAR_SAVING_DONE ), 93cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_WAR_TRANSCODING_NECESSARY ), 94cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_WAR_OUTPUTFILESIZE_EXCEED ), 95cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_JPG_TOO_BIG ), 96cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4xVSSWAR_BUFFER_OUT_TOO_SMALL ), 97cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4xVSSERR_NO_MORE_SPACE ), 98cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 99cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4VSS3GPP_ErrorCodes.h 100cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_FILE_TYPE ), 101cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_EFFECT_KIND ), 102cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_VIDEO_EFFECT_TYPE ), 103cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_AUDIO_EFFECT_TYPE ), 104cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_VIDEO_TRANSITION_TYPE ), 105cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_AUDIO_TRANSITION_TYPE ), 106cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_VIDEO_ENCODING_FRAME_RATE ), 107cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_EXTERNAL_EFFECT_NULL ), 108cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_EXTERNAL_TRANSITION_NULL ), 109cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_BEGIN_CUT_LARGER_THAN_DURATION ), 110cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_BEGIN_CUT_LARGER_THAN_END_CUT ), 111cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_OVERLAPPING_TRANSITIONS ), 112cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_ANALYSIS_DATA_SIZE_TOO_SMALL 113cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_ANALYSIS_DATA_SIZE_TOO_SMALL ), 114cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 115cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_3GPP_FILE ), 116cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_UNSUPPORTED_INPUT_VIDEO_FORMAT ), 117cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_UNSUPPORTED_INPUT_AUDIO_FORMAT ), 118cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_AMR_EDITING_UNSUPPORTED ), 119cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INPUT_VIDEO_AU_TOO_LARGE ), 120cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INPUT_AUDIO_AU_TOO_LARGE ), 121cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INPUT_AUDIO_CORRUPTED_AU ), 122cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_INPUT_AUDIO_CORRUPTED_AMR_AU 123cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INPUT_AUDIO_CORRUPTED_AMR_AU ), 124cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 125cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_ENCODER_ACCES_UNIT_ERROR ), 126cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_EDITING_UNSUPPORTED_VIDEO_FORMAT ), 127cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_EDITING_UNSUPPORTED_H263_PROFILE ), 128cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_EDITING_UNSUPPORTED_MPEG4_PROFILE ), 129cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_EDITING_UNSUPPORTED_MPEG4_RVLC ), 130cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_EDITING_UNSUPPORTED_AUDIO_FORMAT ), 131cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_EDITING_NO_SUPPORTED_STREAM_IN_FILE ), 132cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_EDITING_NO_SUPPORTED_VIDEO_STREAM_IN_FILE), 133cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_VERSION ), 134cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_PLATFORM 135cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INVALID_CLIP_ANALYSIS_PLATFORM ), 136cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 137cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_FORMAT ), 138cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_FRAME_SIZE ), 139cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_TIME_SCALE ), 140cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INCOMPATIBLE_VIDEO_DATA_PARTITIONING ), 141cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_UNSUPPORTED_MP3_ASSEMBLY ), 142cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_WAR_INCOMPATIBLE_AUDIO_STREAM_TYPE ), 143cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_WAR_INCOMPATIBLE_AUDIO_NB_OF_CHANNELS ), 144cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_WAR_INCOMPATIBLE_AUDIO_SAMPLING_FREQUENCY ), 145cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_NO_SUPPORTED_STREAM_IN_FILE ), 146cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_ADDVOLUME_EQUALS_ZERO ), 147cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_ADDCTS_HIGHER_THAN_VIDEO_DURATION ), 148cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_UNDEFINED_AUDIO_TRACK_FILE_FORMAT ), 149cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_UNSUPPORTED_ADDED_AUDIO_STREAM ), 150cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_AUDIO_MIXING_UNSUPPORTED ), 151cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_AUDIO_TRACK ), 152cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_AUDIO_CANNOT_BE_MIXED ), 153cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INPUT_CLIP_IS_NOT_A_3GPP ), 154cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_BEGINLOOP_HIGHER_ENDLOOP ), 155cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_AUDIO_MIXING_MP3_UNSUPPORTED 156cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_AUDIO_MIXING_MP3_UNSUPPORTED ), 157cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 158cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_AAC 159cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_AAC ), 160cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 161cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_ONLY_AMRNB_INPUT_CAN_BE_MIXED 162cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_ONLY_AMRNB_INPUT_CAN_BE_MIXED ), 163cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 164cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_EVRC 165cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_FEATURE_UNSUPPORTED_WITH_EVRC ), 166cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 167cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_H263_PROFILE_NOT_SUPPORTED ), 168cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_NO_SUPPORTED_VIDEO_STREAM_IN_FILE ), 169cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_INTERNAL_STATE ), 170cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_LUMA_FILTER_ERROR ), 171cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_TRANSITION_FILTER_ERROR ), 172cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_AUDIO_DECODER_INIT_FAILED ), 173cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_AUDIO_DECODED_PCM_SIZE_ISSUE ), 174cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4VSS3GPP_ERR_OUTPUT_FILE_TYPE_ERROR ), 175cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 176cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4MCS_ErrorCodes.h 177cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_WAR_TRANSCODING_DONE ), 178cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_WAR_MEDIATYPE_NOT_SUPPORTED ), 179cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_INPUT_FILE_CONTAINS_NO_SUPPORTED_STREAM ), 180cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_INVALID_INPUT_FILE ), 181cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_UNDEFINED_OUTPUT_VIDEO_FORMAT ), 182cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_UNDEFINED_OUTPUT_VIDEO_FRAME_SIZE ), 183cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_UNDEFINED_OUTPUT_VIDEO_FRAME_RATE ), 184cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_UNDEFINED_OUTPUT_AUDIO_FORMAT ), 185cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_INVALID_VIDEO_FRAME_SIZE_FOR_H263 ), 186cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_INVALID_VIDEO_FRAME_RATE_FOR_H263 ), 187cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_DURATION_IS_NULL ), 188cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_H263_FORBIDDEN_IN_MP4_FILE ), 189cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_H263_PROFILE_NOT_SUPPORTED ), 190cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_INVALID_AAC_SAMPLING_FREQUENCY ), 191cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_AUDIO_CONVERSION_FAILED ), 192cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_BEGIN_CUT_LARGER_THAN_DURATION ), 193cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_BEGIN_CUT_EQUALS_END_CUT ), 194cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_END_CUT_SMALLER_THAN_BEGIN_CUT ), 195cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_MAXFILESIZE_TOO_SMALL ), 196cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_VIDEOBITRATE_TOO_LOW ), 197cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_AUDIOBITRATE_TOO_LOW ), 198cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_VIDEOBITRATE_TOO_HIGH ), 199cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_AUDIOBITRATE_TOO_HIGH ), 200cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_OUTPUT_FILE_SIZE_TOO_SMALL ), 201cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_NOMORE_SPACE ), 202895a28e14e6c88b4ff3b1f1cdf02d22f7b3b52caSantosh Madhava VIDEOEDIT_OSAL_RESULT_INIT(M4MCS_ERR_FILE_DRM_PROTECTED ), 203cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 204cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4READER_Common.h 205cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_READER_UNKNOWN_STREAM_TYPE ), 206cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_READER_NO_METADATA ), 207cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_READER_INFORMATION_NOT_PRESENT ), 208cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 209cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4WRITER_Common.h 210cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_WRITER_STOP_REQ ), 211cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // M4DECODER_Common.h 212cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_VIDEORENDERER_NO_NEW_FRAME ), 213cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4WAR_DEBLOCKING_FILTER_NOT_IMPLEMENTED ), 214cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_DECODER_H263_PROFILE_NOT_SUPPORTED ), 215cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_OSAL_RESULT_INIT(M4ERR_DECODER_H263_NOT_BASELINE ) 216cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi}; 217cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 218cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargistatic const int gkRESULTS_COUNT = (sizeof(gkRESULTS) / sizeof(VideoEdit_Osal_Result)); 219cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 220cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef OSAL_MEM_LEAK_DEBUG 221cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargistatic int gAllocatedBlockCount = 0; 222cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 223cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 224cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargiconst char* 225cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditOsal_getResultString( 226cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_ERR result) 227cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 228cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi static char string[VIDEOEDIT_OSAL_RESULT_STRING_MAX] = ""; 229cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi const char* pString = M4OSA_NULL; 230cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi int index = 0; 231cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 232cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Loop over the list with constants. 233cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi for (index = 0; 234cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi ((M4OSA_NULL == pString) && (index < gkRESULTS_COUNT)); 235cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi index++) 236cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 237cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the specified result matches. 238cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (result == gkRESULTS[index].result) 239cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 240cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the description. 241cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pString = gkRESULTS[index].pName; 242cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 243cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 244cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 245cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if no result was found. 246cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL == pString) 247cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 248cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Set the description to a default value. 249cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_chrSPrintf((M4OSA_Char *)string, sizeof(string) - 1, 250cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (M4OSA_Char*)"<unknown(0x%08X)>", result); 251cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pString = string; 252cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 253cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 254cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the result. 255cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi return(pString); 256cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 257cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 258cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid * 259cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditOsal_alloc( 260cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi bool* pResult, 261cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi JNIEnv* pEnv, 262cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi size_t size, 263cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi const char* pDescription) 264cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 265cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi void *pData = M4OSA_NULL; 266cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 267cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if the previous action succeeded. 268cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (*pResult) 269cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 270cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Allocate memory for the settings. 271c0125dd4f1f8bb03ad16138f86d55ed3305240c4Shyam Pallapothu pData = (M4VSS3GPP_EditSettings*)M4OSA_32bitAlignedMalloc(size, 0, (M4OSA_Char*)pDescription); 272cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pData) 273cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 274cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Reset the allocated memory. 2753feb41ff6f617768eb25c1b69c473d33f4f2f37bShyam Pallapothu memset((void *)pData, 0,size); 276cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef OSAL_MEM_LEAK_DEBUG 277cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Update the allocated block count. 278cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi gAllocatedBlockCount++; 279cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 280cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 281cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi else 282cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 283cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Reset the result flag. 284cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi (*pResult) = false; 285cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 286cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the error. 287cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_ERROR(ANDROID_LOG_ERROR, "VIDEO_EDITOR_OSAL", "videoEditOsal_alloc,\ 288cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi error: unable to allocate memory for %s", pDescription); 289cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 290cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Throw an exception. 291cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi jniThrowException(pEnv, "java/lang/OutOfMemoryError", "unable to allocate memory"); 292cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 293cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 294cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 295cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Return the allocated memory. 296cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi return(pData); 297cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 298cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 299cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 300cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditOsal_free( 301cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi void* pData) 302cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 303cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Check if memory was allocated. 304cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (M4OSA_NULL != pData) 305cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 306cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_FUNCTION(ANDROID_LOG_INFO, "VIDEO_EDITOR_OSAL", "videoEditOsal_free()"); 307cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 308cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the API call. 309c0125dd4f1f8bb03ad16138f86d55ed3305240c4Shyam Pallapothu VIDEOEDIT_LOG_API(ANDROID_LOG_INFO, "VIDEO_EDITOR_OSAL", "free"); 310cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 311cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Free the memory. 312c0125dd4f1f8bb03ad16138f86d55ed3305240c4Shyam Pallapothu free(pData); 313cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#ifdef OSAL_MEM_LEAK_DEBUG 314cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Update the allocated block count. 315cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi gAllocatedBlockCount--; 316cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 317cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Log the number of allocated blocks. 318cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi VIDEOEDIT_LOG_ALLOCATION(ANDROID_LOG_ERROR, "VIDEO_EDITOR_OSAL", "allocated, %d blocks",\ 319cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi gAllocatedBlockCount); 320cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi#endif 321cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 322cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 323cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 324cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 325cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargivoid 326cd196d3727db641e581d4223815367a5ca5d5637Dharmaray KundargivideoEditOsal_getFilePointers ( M4OSA_FileReadPointer *pOsaFileReadPtr, 327cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi M4OSA_FileWriterPointer *pOsaFileWritePtr) 328cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi{ 329cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (pOsaFileReadPtr != M4OSA_NULL) 330cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 331cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Initialize the filereader function pointers. 332cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileReadPtr->openRead = M4OSA_fileReadOpen; 333cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileReadPtr->readData = M4OSA_fileReadData; 334cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileReadPtr->seek = M4OSA_fileReadSeek; 335cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileReadPtr->closeRead = M4OSA_fileReadClose; 336cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileReadPtr->setOption = M4OSA_fileReadSetOption; 337cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileReadPtr->getOption = M4OSA_fileReadGetOption; 338cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 339cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 340cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi if (pOsaFileWritePtr != M4OSA_NULL) 341cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi { 342cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi // Initialize the filewriter function pointers. 343cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileWritePtr->openWrite = M4OSA_fileWriteOpen; 344cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileWritePtr->writeData = M4OSA_fileWriteData; 345cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileWritePtr->seek = M4OSA_fileWriteSeek; 346cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileWritePtr->Flush = M4OSA_fileWriteFlush; 347cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileWritePtr->closeWrite = M4OSA_fileWriteClose; 348cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileWritePtr->setOption = M4OSA_fileWriteSetOption; 349cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi pOsaFileWritePtr->getOption = M4OSA_fileWriteGetOption; 350cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi } 351cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi} 352cd196d3727db641e581d4223815367a5ca5d5637Dharmaray Kundargi 353