omx_base_audio_port.c

Go to the documentation of this file.
00001 
00029 #include <stdlib.h>
00030 #include <string.h>
00031 #include <unistd.h>
00032 #include <omxcore.h>
00033 #include <OMX_Core.h>
00034 #include <OMX_Component.h>
00035 
00036 #include "omx_base_component.h"
00037 #include "omx_base_audio_port.h"
00038 
00055 OMX_ERRORTYPE base_audio_port_Constructor(OMX_COMPONENTTYPE *openmaxStandComp,omx_base_PortType **openmaxStandPort,OMX_U32 nPortIndex, OMX_BOOL isInput) {
00056   
00057   omx_base_audio_PortType *omx_base_audio_Port;
00058 
00059   if (!(*openmaxStandPort)) {
00060     *openmaxStandPort = calloc(1,sizeof (omx_base_audio_PortType));
00061   }
00062 
00063   if (!(*openmaxStandPort)) {
00064     return OMX_ErrorInsufficientResources;
00065   }
00066 
00067   base_port_Constructor(openmaxStandComp,openmaxStandPort,nPortIndex, isInput);
00068 
00069   omx_base_audio_Port = (omx_base_audio_PortType *)*openmaxStandPort;
00070 
00071   setHeader(&omx_base_audio_Port->sAudioParam, sizeof(OMX_AUDIO_PARAM_PORTFORMATTYPE));
00072   omx_base_audio_Port->sAudioParam.nPortIndex = nPortIndex;
00073   omx_base_audio_Port->sAudioParam.nIndex = 0;
00074   omx_base_audio_Port->sAudioParam.eEncoding = OMX_AUDIO_CodingUnused;
00075   
00076   omx_base_audio_Port->sPortParam.eDomain = OMX_PortDomainAudio;
00077   omx_base_audio_Port->sPortParam.format.audio.cMIMEType = malloc(DEFAULT_MIME_STRING_LENGTH);
00078   strcpy(omx_base_audio_Port->sPortParam.format.audio.cMIMEType, "raw/audio");
00079   omx_base_audio_Port->sPortParam.format.audio.pNativeRender = 0;
00080   omx_base_audio_Port->sPortParam.format.audio.bFlagErrorConcealment = OMX_FALSE;
00081   omx_base_audio_Port->sPortParam.format.audio.eEncoding = OMX_AUDIO_CodingUnused;
00082 
00083   omx_base_audio_Port->sPortParam.nBufferSize = (isInput == OMX_TRUE)?DEFAULT_IN_BUFFER_SIZE:DEFAULT_OUT_BUFFER_SIZE ;
00084 
00085   omx_base_audio_Port->PortDestructor = &base_audio_port_Destructor;
00086 
00087   return OMX_ErrorNone;
00088 }
00089 
00102 OMX_ERRORTYPE base_audio_port_Destructor(omx_base_PortType *openmaxStandPort){
00103 
00104   if(openmaxStandPort->sPortParam.format.audio.cMIMEType) {
00105     free(openmaxStandPort->sPortParam.format.audio.cMIMEType);
00106     openmaxStandPort->sPortParam.format.audio.cMIMEType = NULL;
00107   }
00108 
00109   base_port_Destructor(openmaxStandPort);
00110 
00111   return OMX_ErrorNone;
00112 }

Generated for OpenMAX Bellagio rel. 0.3.5-svn by  doxygen 1.5.1
SourceForge.net Logo