Thank you very much
On 4月16日, 上午3时24分, Dave Sparks <[email protected]> wrote:
> If you want to use Cupcake video recorder, you need an OMX hardware
> encoder component. You are not going to find this code in the open
> source tree because it is specific to your hardware. This means you
> have write your own OMX hardware encoder component. That's why you are
> seeing unresolved symbols, you don't have that library in your tree.
>
> On Apr 15, 5:18 am, Alex <[email protected]> wrote:
>
>
>
> > Thank you for your reply!
>
> > but I do not know what your mean.
>
> > Today I defined HARDWARE_OMX = 1
>
> > so the statement pWrapper[0] = QC_OMX_Wrapper::New(); will be
> > called.
>
> > but the android project also can not be compiled successful and the
> > error is :
> > OMX_Init
> > ,OMX_Deinit,OMX_ComponentNameEnum,OMX_GetHandle,OMX_FreeHandle,OMX_GetCompo-nentsOfRole,OMX_GetRolesOfComponent,OMX_SetupTunnel,OMX_GetContentPipe
> > in QC_OMX_Wrapper class can not be declared!
> > It seems that those function can not be solved in author! from the
> > source code that all of functions except OMX_Init are defined in
> > "omx_core.h" , I donot know why the author can not find those
> > function. can you tell me how to resolve it?
>
> > another question: From mediaplayer, the audio and video decoder omx
> > should be registered in OMX_Init , but there are no encoder omx plugin
> > in opencore, it seems that the developer should implement the encoder
> > omx plugin by himself and register it. So from this opinion, one
> > should code the encoder omx_init() . but also if the encoder omx_init
> > () has been implemented, the other functions
> > (OMX_Deinit,OMX_ComponentNameEnum,OMX_GetHandle and so on) also can
> > not be found by compiler. So what can I do to make the compiler
> > recoginize those functions?
>
> > How others make the mediarecorder worked successfully? can sb give
> > me a hint?
>
> > Thank you!
>
> > pOMX_Init = OMX_Init;
> > pOMX_Deinit = OMX_Deinit;
> > pOMX_ComponentNameEnum= OMX_ComponentNameEnum;
> > pOMX_GetHandle = OMX_GetHandle;
> > pOMX_FreeHandle = OMX_FreeHandle;
> > pOMX_GetComponentsOfRole= OMX_GetComponentsOfRole;
> > pOMX_GetRolesOfComponent= OMX_GetRolesOfComponent;
> > pOMX_SetupTunnel = OMX_SetupTunnel;
> > pOMX_GetContentPipe= OMX_GetContentPipe;
>
> > On 4月15日, 上午5时48分, Dave Sparks <[email protected]> wrote:
>
> > > The Cupcake code assumes you have an OpenMAX H.263 hardware encoder.
>
> > > On Apr 14, 6:01 am, Alex <[email protected]> wrote:
>
> > > > Hi
> > > > From cupcake sourcecode, camrecorder can be implemented with
> > > > mediarecorder API, and the camrecorder has implemented in package/app/
> > > > Camera. but when I open the camera App, and click "swtich to
> > > > video" ,the application crashed.
> > > > From the debug trace, can see that the MediaRecorder can not be
> > > > newed(new MediaRecorder() ) successful.
> > > > and the following function can not be called successful:
> > > > MediaRecorderClient::MediaRecorderClient(pid_t pid)
> > > > {
> > > > LOGV("Client constructor");
> > > > mPid = pid;
> > > > mRecorder = new PVMediaRecorder(); // the statement break
> > > > with a Exception
> > > > }
>
> > > > and PVMediaRecorder() is defined as:
>
> > > > PVMediaRecorder::PVMediaRecorder()
> > > > {
> > > > LOGV("constructor");
> > > > mAuthorDriverWrapper = new AuthorDriverWrapper();
>
> > > > }
>
> > > > and
> > > > AuthorDriverWrapper::AuthorDriverWrapper()
> > > > {
> > > > mAuthorDriver = new AuthorDriver();
>
> > > > }
>
> > > > From the opencore, the PV_MasterOMX_Init() (in
> > > > pv_encomxmastercore.cpp) will be called, and please look at the
> > > > following source code in this function:
> > > > OMX_ERRORTYPE OMX_APIENTRY PV_MasterOMX_Init()
>
> > > > {
>
> > > > ...............
>
> > > > #if HARDWARE_OMX
> > > > pWrapper[0] = QC_OMX_Wrapper::New();
> > > > #endif
> > > > //Holmes temp remove this {
> > > > //pWrapper[NUMBER_OF_OMX_CORES-1] = PV_OMX_Wrapper::New(); //
> > > > initialize pointers to omx methods
> > > > //Holmes temp remove this {
>
> > > > // loop over all cores
> > > > master_index = 0;
> > > > OMX_STRING ComponentName = (OMX_STRING) malloc
> > > > (PV_OMX_MAX_COMPONENT_NAME_LENGTH*sizeof(OMX_U8));
>
> > > > for (jj = 0; jj < NUMBER_OF_OMX_CORES; jj++)
> > > > {
> > > > // first call OMX_Init
> > > > Status = (*(pWrapper[jj]->GetpOMX_Init()))();
>
> > > > ...............
>
> > > > }
>
> > > > ...................
>
> > > > }
>
> > > > I don't know why the statement "pWrapper[NUMBER_OF_OMX_CORES-1] =
> > > > PV_OMX_Wrapper::New();" was deleted. and if this statement is deleted,
> > > > the pWrapper is empty, so when " Status = (*(pWrapper[jj]->GetpOMX_Init
> > > > ()))();" is called, a exception will happened , and this can be
> > > > caused the camrecorder crashed!
>
> > > > but if I make the "pWrapper[NUMBER_OF_OMX_CORES-1] =
> > > > PV_OMX_Wrapper::New(); " usable, the author can not be complied
> > > > successful! and the error info is:
> > > > PV_OMX_Wrapper::New() was not be declared
>
> > > > Can sb help me?
>
> > > > Thanks !- 隐藏被引用文字 -
>
> > > - 显示引用的文字 -- 隐藏被引用文字 -
>
> - 显示引用的文字 -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"android-framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---