主题 : Mini210的android源代码中编译audio.primary.mini210.so文件不能运行 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 98238
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2013-11-20
最后登录: 2014-02-27
楼主  发表于: 2013-12-04 20:09

 Mini210的android源代码中编译audio.primary.mini210.so文件不能运行

图片:
  在光盘提供的源代码下,编译audio的HAL层,使用mm命令进行模块化编译,编译之后生成:
audio.primary.mini210.so  audio_policy.mini210.so两个库文件,随后使用这两个文件替换掉系统中/system/lib/hw中
的原文件,重启之后,这两个加载了log如下:

I/AudioFlinger( 1490): Loaded primary audio interface from LEGACY Audio HW HAL (audio)
I/AudioFlinger( 1490): Using 'LEGACY Audio HW HAL' (audio.primary) as the primary audio interface
I/AudioFlinger( 1490): Loaded a2dp audio interface from A2DP Audio HW HAL (audio)
D/AudioHardwareInterface( 1490): setMode(NORMAL)              
I/CameraService( 1490): CameraService started (pid=1490)
I/AudioPolicyService( 1490): Loaded audio policy from Default audio policy HAL (audio_policy)

可是在系统的itest中,就不能正常播放音乐了,用logcat查看日志,有:
E/SoundPool( 1659): Error creating AudioTrack
E/MediaPlayer( 2328): error (-19, 0)
E/MediaPlayer( 2328): Error (-19,0)
E/SoundPool( 1659): Error creating AudioTrack
E/MediaPlayer( 2328): stop called in state 0
E/MediaPlayer( 2328): error (-38, 0)
E/MediaPlayer( 2328): prepareAsync called in state 0
E/MediaPlayer( 2328): start called in state 0
E/MediaPlayer( 2328): error (-38, 0)
E/MediaPlayer( 2328): Error (-38,0)

会不会是加载错误呢??随后,将我编译的两个库文件删除,使用官方提供的库文件audio.primary.mini210.so  
audio_policy.mini210.so,加载日志如下:
I/AudioFlinger( 1490): Loaded primary audio interface from LEGACY Audio HW HAL (audio)
I/AudioFlinger( 1490): Using 'LEGACY Audio HW HAL' (audio.primary) as the primary audio interface
I/AudioFlinger( 1490): Loaded a2dp audio interface from A2DP Audio HW HAL (audio)
D/AudioHardwareInterface( 1490): setMode(NORMAL)              
I/CameraService( 1490): CameraService started (pid=1490)
I/AudioFlinger( 1490): AudioFlinger's thread 0x16bf5e8 ready to run
W/AudioFlinger( 1490): Thread AudioOut_1 cannot connect to the power manager service          
D/AudioHardware( 1490): AudioStreamOutALSA::setParameters() routing=2
D/AudioHardware( 1490): ### setVoiceVolume_l                                                    
I/AudioPolicyService( 1490): Loaded audio policy from LEGACY Audio Policy HAL (audio_policy)

请教一下,光盘中提供的device/mini210/libaudio 的源代码是完整可编译的代码还是只是部分代码   或者是说 我的编译步骤出现了错误???

谢谢各位了!!
级别: 新手上路
UID: 98238
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2013-11-20
最后登录: 2014-02-27
1楼  发表于: 2013-12-04 20:12
顶一下~~~求助大神了。。。
级别: 新手上路
UID: 98238
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2013-11-20
最后登录: 2014-02-27
2楼  发表于: 2013-12-05 09:31
再顶一下。。。。
级别: 新手上路
UID: 98238
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2013-11-20
最后登录: 2014-02-27
3楼  发表于: 2013-12-05 10:33
仔细分析了一下,应该是没有开源的原因,恩,只有自己移植了。。。。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
4楼  发表于: 2013-12-05 11:12
引用第3楼alex008于2013-12-05 10:33发表的  :
仔细分析了一下,应该是没有开源的原因,恩,只有自己移植了。。。。

这到有点奇怪,能分享一下你的发现吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 98238
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2013-11-20
最后登录: 2014-02-27
5楼  发表于: 2013-12-05 12:08

 回 4楼(kasim) 的帖子

这只是我个人的看法,可能比较片面。。。
使用官方提供的audio.primary.mini210.so  audio_policy.mini210.so两个库文件,系统启动之后,
查看logcat,可见:
I/AudioFlinger( 1490): Loaded primary audio interface from LEGACY Audio HW HAL (audio)
I/AudioFlinger( 1490): Using 'LEGACY Audio HW HAL' (audio.primary) as the primary audio interface
I/AudioFlinger( 1490): Loaded a2dp audio interface from A2DP Audio HW HAL (audio)
D/AudioHardwareInterface( 1490): setMode(NORMAL)              
I/CameraService( 1490): CameraService started (pid=1490)
I/AudioFlinger( 1490): AudioFlinger's thread 0x16bf5e8 ready to run    
W/AudioFlinger( 1490): Thread AudioOut_1 cannot connect to the power manager service          
D/AudioHardware( 1490): AudioStreamOutALSA::setParameters() routing=2
D/AudioHardware( 1490): ### setVoiceVolume_l                                                    
I/AudioPolicyService( 1490): Loaded audio policy from LEGACY Audio Policy HAL (audio_policy)

可以看到AudioFlinger( 1490): AudioFlinger's thread 0x16bf5e8 ready to run    已经运行了,以及下面的一些配置,
这条输出信息实在audioflinger.c中的:
// Thread virtuals
status_t AudioFlinger::PlaybackThread::readyToRun()
{
    status_t status = initCheck();
    if (status == NO_ERROR) {
        LOGI("AudioFlinger's thread %p ready to run", this);
    } else {
        LOGE("No working audio driver found.");
    }
    return status;
}

使用device/friendly-arm/mini210/libaudio 提供的源码编译之后的库文件,加载之后是这样的:
I/AudioFlinger( 1490): Loaded primary audio interface from LEGACY Audio HW HAL (audio)
I/AudioFlinger( 1490): Using 'LEGACY Audio HW HAL' (audio.primary) as the primary audio interface
I/AudioFlinger( 1490): Loaded a2dp audio interface from A2DP Audio HW HAL (audio)
D/AudioHardwareInterface( 1490): setMode(NORMAL)              
I/CameraService( 1490): CameraService started (pid=1490)
I/AudioPolicyService( 1490): Loaded audio policy from Default audio policy HAL (audio_policy)

AudioFlinger没有运行,因此我就大胆推断,源码中有些地方需要修改。。还望大神指点一下。。
级别: 新手上路
UID: 98238
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2013-11-20
最后登录: 2014-02-27
6楼  发表于: 2013-12-05 12:10

 回 4楼(kasim) 的帖子

错误的话,还是一直提示:
E/MediaPlayer( 2595): error (-19, 0)
E/MediaPlayer( 2595): Error (-19,0)
E/MediaPlayer( 2595): stop called in state 0
E/MediaPlayer( 2595): error (-38, 0)
E/MediaPlayer( 2595): prepareAsync called in state 0
E/MediaPlayer( 2595): start called in state 0
E/MediaPlayer( 2595): error (-38, 0)
E/MediaPlayer( 2595): Error (-38,0)

还没找到具体的解决办法~~~
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
7楼  发表于: 2013-12-05 12:12

 回 6楼(alex008) 的帖子

    
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 98238
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2013-11-20
最后登录: 2014-02-27
8楼  发表于: 2013-12-05 12:20

 回 7楼(kasim) 的帖子

  
级别: 新手上路
UID: 98238
精华: 0
发帖: 21
金钱: 105 两
威望: 21 点
综合积分: 42 分
注册时间: 2013-11-20
最后登录: 2014-02-27
9楼  发表于: 2013-12-05 13:50

 回 7楼(kasim) 的帖子

问题刚解决了。。唉。又是一个低级的错误。糗死了。。。