Bug #115110

【BSP】【EVT2】【Music】【音乐】【必现】.wma格式的音频能在本地音乐播放

Added by CDTS_TEST 刘勇 over 2 years ago. Updated over 2 years ago.

Status:CLOSEDStart date:2023-01-06
Priority:HighDue date:2023-02-09
Assignee:CD TPM-王祥林% Done:

0%

Category:CD-APP
Target version:-
Need_Info:-- Found Version:FlatBuild_HH_VX1_MCE_FSE.M.R.user.01.00.0066.X101
Resolution:WONTFIX Degrated:--
Severity:Major Verified Version:
Reproducibility:Every time Fixed Version:
Test Type:ST Root cause:需求确认,暂不处理

History

#1 Updated by CDTS_TEST 刘勇 over 2 years ago

【前提条件】
测试机中有 .wma格式的歌曲
【测试步骤】
1.进入音乐播放器播放.wma格式音乐,
2.查看现象
【预期结果】
2..wma格式的音频不能在本地音乐播放

【实际结果】
2..wma格式的音频能在本地音乐播放

【复现概率次数】20/20,

【对比机】联想平板是第三方软件(酷狗音乐),可以在本地播放音乐

#2 Updated by CD MM陈海波 over 2 years ago

wma可以播放, 主要是由于高通默认做了独立支持, 具体支持代码在:

hardware/qcom/media/mm-core/src/  //加载解码库libOmxWmaDec.so

vendor/qcom/proprietary/commonsys/avenhancements/av/stagefright/ExtendedUtils.cpp  //获取wma的codec
sp<MediaCodec> ExtendedUtils::createCustomComponentByName(const sp<ALooper> &looper,
        const char* mime, bool encoder, const sp<AMessage> &msg) {
    ....
    if ( msg != NULL && !overrideMimeType(msg, &mimeType)) {
        if (mime != NULL) {
            pConfigsIns = AVConfigHelper::getInstance();
            AVLOGV("createByComponentName for clip of mimetype %s", mime);
            if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_AMR_WB_PLUS) && !encoder) {
                codec = MediaCodec::CreateByComponentName(looper, "OMX.qcom.audio.decoder.amrwbplus");
            } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_WMA) && !encoder) {
                codec = MediaCodec::CreateByComponentName(looper, "OMX.qcom.audio.decoder.wma");
            } else if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_ALAC) && !encoder) {
※ wma codec和其他codec 代码流程上的差分在于wma codec不会在media_codecs_xxx.xml中进行配置.

如果需要不做支持, 在audio_policy_configuration.xml中对应的profile去掉即可.
                <mixPort name="compressed_offload" role="source" 
                   ...
                    <profile name="" format="AUDIO_FORMAT_WMA" 
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000" 
                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
                    <profile name="" format="AUDIO_FORMAT_WMA_PRO" 
                             samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000" 
                             channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>

但是一般没有强制要求, 应该不需要去掉的.
之前某些厂商要求去掉, 主要是担心在国外不小心使用到, 会被收取license的费用.
但也有许多厂商觉得没事, 保留高通原生的情况,默认不对其作出处理.
基于这样的情况, 需要项目上做决定是否去掉对wma的支持.
如果必须去掉, 我在将做代码修改.

BTW, wma类型, 现在项目上默认会支持wma和wma-pro这两种类型(wma好像有4种类型吧).
wma还分是否包含drm信息的, 如果包含drm信息, 要播放成功, 需要播放器获取有对应的license.
没有drm信息的, 播放器直接播放即可.

多谢!

#3 Updated by CD MM陈海波 over 2 years ago

  • Assignee changed from CD MM陈海波 to CD TPM-王祥林

#4 Updated by CDTS_TEST 刘勇 over 2 years ago

  • Category set to CD-APP

#5 Updated by CD TPM-王祥林 over 2 years ago

  • Due date set to 2023-02-09

#6 Updated by CD TPM-王祥林 over 2 years ago

  • Assignee changed from CD TPM-王祥林 to 方案组-RD3_CDTS 王浩云

浩云

由于涉及到是否要购买wma的版权问题,需要找客户确认。

#7 Updated by 方案组-RD3_CDTS 王浩云 over 2 years ago

  • Assignee changed from 方案组-RD3_CDTS 王浩云 to CD TPM-王祥林

对于音频格式不做限制,我们需要支持,但是要播放的版权,和客户说明,由客户解决即可

#8 Updated by CD TPM-王祥林 over 2 years ago

  • Status changed from New to RESOLVED
  • Resolution changed from -- to WONTFIX

保持现状,不需要处理。

#9 Updated by CDTS-TEST 周婷 over 2 years ago

  • Status changed from RESOLVED to VERIFIED
  • Root cause set to 需求确认,暂不处理

需求确认,暂不处理,关闭

#10 Updated by CD TPM-王祥林 over 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF