Skip to content

Commit

Permalink
Merge pull request #3408 from AgoraIO/4.2.4-bugfix-1102
Browse files Browse the repository at this point in the history
4.2.4 bugfix 1102
  • Loading branch information
Cilla-luodan authored Nov 2, 2023
2 parents 878e3a3 + f789b22 commit de6497c
Show file tree
Hide file tree
Showing 15 changed files with 49 additions and 105 deletions.
7 changes: 3 additions & 4 deletions dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,8 @@
<parml>
<plentry>
<pt>index</pt>
<pd>媒体流索引值。</pd>
<pd props="cpp unreal bp unity cs">该参数需小于 <xref keyref="getStreamCount" /> 的 <parmname>count</parmname> 参数。</pd>
<pd props="android ios mac rn electron flutter">该参数需小于 <xref keyref="getStreamCount" /> 的返回值。</pd>
<pd props="cpp unreal bp unity cs">媒体流索引值。该参数需小于 <xref keyref="getStreamCount" /> 的 <parmname>count</parmname> 参数。</pd>
<pd props="android ios mac rn electron flutter">媒体流索引值。该参数的值需小于 <xref keyref="getStreamCount" /> 的返回值。</pd>
</plentry>
<plentry props="cpp unreal bp unity cs">
<pt>info</pt>
Expand All @@ -52,4 +51,4 @@
<li>&lt; 0: 方法调用失败。<ph props="cn">详见<xref keyref="error-code-link"/>了解详情和解决建议。</ph></li>
</ul> </section>
</refbody>
</reference>
</reference>
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<note type="attention">
<ul>
<li props="cpp unreal bp unity flutter cs">该方法仅适用于 Android 和 iOS。</li>
<li>该方法必须在开启摄像头后调用,如 <xref keyref="startPreview2"/> 和 <xref keyref="enableVideo" /> 后调用。</li>
<li>该方法必须在开启本地摄像头采集前调用,如 <xref keyref="startPreview2"/> 和 <xref keyref="joinChannel2"/> 前调用。</li>
</ul></note> </section>
<section id="parameters">
<title>参数</title>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
<plentry>
<pt>channel</pt>
<pd>
<p>音频数据声道数,可设置为 <codeph>1</codeph>(单声道) 或 <codeph>2</codeph>(双声道) 。</p>
<p>音频数据声道数,可设置为 <codeph>1</codeph>(单声道)或 <codeph>2</codeph>(双声道)。</p>
</pd>
</plentry>
</parml> </section>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@
</section>
<section id="detailed_desc">
<title>详情</title>
<p id="desc">设置本地视频的编码属性。</p>
<p id="desc">设置本地视频的编码属性。每一种视频编码属性对应一系列视频相关参数设置,包含分辨率、帧率和码率。</p>
<p>该方法的 <parmname>config</parmname> 参数设置是在理想网络状态下能达到的最大值。如果网络状态不好,视频引擎便不能使用该 <parmname>config</parmname> 渲染本地视频,它会自动降低到一个合适的视频参数设置。</p>
<note type="attention" props="native unreal bp">
<ul>
<li>该方法在加入频道前后都能调用。如果用户在加入频道后不需要重新设置视频编码属性,则建议在 <xref keyref="enableVideo"/> 前调用该方法,可以加快首帧出图的时间。</li>
Expand Down
48 changes: 19 additions & 29 deletions dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita
Original file line number Diff line number Diff line change
Expand Up @@ -27,41 +27,31 @@
<section id="detailed_desc">
<title>详情</title>
<p>开始通话前网络质量探测,向用户反馈上下行网络的带宽、丢包、网络抖动和往返时延数据。</p>
<p>
启用该方法后,SDK 会依次返回如下 2 个回调:



<ul>
<li> <xref keyref="onLastmileQuality" />,视网络情况约 2 秒内返回。该回调通过打分反馈上下行网络质量,更贴近用户的主观感受。
</li>
<li> <xref keyref="onLastmileProbeResult" />,视网络情况约 30 秒内返回。该回调通过具体数据反馈上下行网络质量,更加客观。
</li>
</ul> </p>
<p>
该方法主要用于以下两种场景:



<ul>
<li>用户加入频道前,可以调用该方法判断和预测目前的上行网络质量是否足够好。</li>
<li>直播场景下,当用户角色想由观众切换为主播时,可以调用该方法判断和预测目前的上行网络质量是否足够好。</li>
</ul> </p>
<p>启用该方法后,SDK 会依次返回如下 2 个回调:
<ul>
<li><xref keyref="onLastmileQuality" />,视网络情况约 2 秒内返回。该回调通过打分反馈上下行网络质量,更贴近用户的主观感受。</li>
<li><xref keyref="onLastmileProbeResult" />,视网络情况约 30 秒内返回。该回调通过具体数据反馈上下行网络质量,更加客观。</li>
</ul>
</p>
<p>该方法主要用于以下两种场景:
<ul>
<li>用户加入频道前,可以调用该方法判断和预测目前的上行网络质量是否足够好。</li>
<li>直播场景下,当用户角色想由观众切换为主播时,可以调用该方法判断和预测目前的上行网络质量是否足够好。</li>
</ul>
</p>
<note type="attention">
<ul>
<li>
调用该方法后,在收到 <apiname keyref="onLastmileQuality" /> 和 <apiname keyref="onLastmileProbeResult" /> 回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。
</li>
<li>在直播场景中,如果本地用户为主播,请勿加入频道后调用该方法。</li>
</ul> </note> </section>
<ul>
<li>调用该方法后,在收到 <apiname keyref="onLastmileQuality" /> 和 <apiname keyref="onLastmileProbeResult" /> 回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。</li>
<li>在直播场景中,如果本地用户为主播,请勿加入频道后调用该方法。</li>
</ul>
</note>
</section>
<section id="parameters">
<title>参数</title>
<parml>
<plentry>
<pt>config</pt>
<pd>
Last mile 网络探测配置,详见 <xref keyref="LastmileProbeConfig" />。
</pd>
<pd>Last mile 网络探测配置,详见 <xref keyref="LastmileProbeConfig" />。</pd>
</plentry>
</parml> </section>
<section id="return_values">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd">
<reference id="api_irtcengineex_setvideoencoderconfigurationex">
<title><ph keyref="setVideoEncoderConfigurationEx" /></title>
<shortdesc id="short"><ph id="shortdesc">设置本地视频编码属性。</ph></shortdesc>
<shortdesc id="short"><ph id="shortdesc">设置视频编码属性。</ph></shortdesc>
<prolog>
<metadata>
<keywords>
Expand Down Expand Up @@ -36,7 +36,7 @@
</section>
<section id="detailed_desc">
<title>详情</title>
<p id="desc">每一种视频编码属性对应一系列视频相关参数设置,包含分辨率、帧率和码率。</p>
<p id="desc">设置本地视频的编码属性。每一种视频编码属性对应一系列视频相关参数设置,包含分辨率、帧率和码率。</p>
<p>该方法的 <parmname>config</parmname> 参数设置是在理想网络状态下能达到的最大值。如果网络状态不好,视频引擎便不能使用该 <parmname>config</parmname> 渲染本地视频,它会自动降低到一个合适的视频参数设置。</p>
</section>
<section id="parameters">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@
<pt>deviceType</pt>
<pd>设备类型定义。详见 <xref keyref="MEDIA_DEVICE_TYPE"/>。</pd>
</plentry>
<plentry conkeyref="onVideoDeviceStateChanged/state">
<pt/>
<pd/>
<plentry>
<pt>deviceState</pt>
<pd>设备状态,详见 <xref keyref="MEDIA_DEVICE_STATE_TYPE"/>。</pd>
</plentry>
</parml> </section>
</refbody>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
<refbody>
<section id="prototype">
<p outputclass="codeblock">
<codeblock props="unity cs" outputclass="language-csharp">public virtual void OnLocalAudioStateChanged(RtcConnection connection, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {}</codeblock>
<codeblock props="android" outputclass="language-java">public void onLocalAudioStateChanged(int state, int error) {}</codeblock>
<codeblock props="ios mac" outputclass="language-objectivec">- (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine
localAudioStateChanged:(AgoraAudioLocalState)state error:(AgoraAudioLocalError)error;</codeblock>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,25 +52,7 @@
</plentry>
<plentry id="state">
<pt>deviceState</pt>
<pd>设备状态。</pd>
<pd>
<ul>
<li props="cpp unreal electron unity flutter">在 Windows 平台上,详见 <xref keyref="MEDIA_DEVICE_STATE_TYPE"/> 。</li>
<li props="bp">在 Windows 平台上:
<ul>
<li><ph keyref="MEDIA_DEVICE_STATE_IDLE"/>(0): 准备就绪。</li>
<li><ph keyref="MEDIA_DEVICE_STATE_ACTIVE"/>(1): 设备正在使用。</li>
<li><ph keyref="MEDIA_DEVICE_STATE_ACTIVE"/>(2): 设备被禁用。</li>
<li><ph keyref="MEDIA_DEVICE_STATE_NOT_PRESENT"/>(4): 没有此设备。</li>
<li><ph keyref="MEDIA_DEVICE_STATE_UNPLUGGED"/>(8): 设备被拔出。</li>
</ul></li>
<li props="cpp unreal bp electron unity flutter">在 macOS 平台上:

<ul>
<li>0: 设备就绪。</li>
<li>8: 设备被拔出。</li>
</ul></li>
</ul> </pd>
<pd>设备状态。详见 <xref keyref="MEDIA_DEVICE_STATE_TYPE"/> 。</pd>
</plentry>
</parml> </section>
</refbody>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,35 +29,18 @@
<codeblock props="reserve" outputclass="language-cpp"></codeblock></p>
</section>
<section id="detailed_desc">
<p>如果你想获取 YUV 420 格式以外的原始视频数据,需要在调用 <xref keyref="registerVideoFrameObserver"/> 方法时注册该回调。 成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调返回值中设置期望的视频数据格式。</p>
<note type="note" props="hide">如果你想获取发送端采集的原始视频格式,则在返回值中设置原始视频数据格式为 <apiname keyref="VIDEO_PIXEL_DEFAULT"/>。在不同的平台上,原始视频像素格式也不同,实际的视频像素格式以 <xref keyref="VideoFrame"/> 为准。</note> </section>
<p>你需要在调用 <xref keyref="registerVideoFrameObserver"/> 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置期望的视频数据格式。</p>
</section>
<section id="return_values">
<title>返回值</title>
<p><ph>设置 SDK 输出的原始数据格式。</ph><ph props="cpp unreal bp ios mac unity">详见 <xref keyref="VIDEO_PIXEL_FORMAT" props="cpp unreal bp ios mac"/><xref keyref="VIDEO_OBSERVER_FRAME_TYPE" props="unity"/>。</ph></p>
<p><ph>设置 SDK 输出的原始数据格式。</ph><ph props="cpp bp unreal apple">详见 <xref keyref="VIDEO_PIXEL_FORMAT"/>。</ph></p>
<p>在默认情况下,原始视频像素格式 (<ph keyref="VIDEO_PIXEL_DEFAULT"/>) 存在以下类型:
<ul><li props="cpp bp unreal">在 Android 平台上,默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。自 v4.2.3 起,TextureBuffer 类型的纹理格式不再包括 OES 格式,仅为 RGB 格式。你需要在处理视频数据时增加对 I420、RGB 纹理格式的适配。</li>
<li props="android">默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。自 v4.2.3 起,TextureBuffer 类型的纹理格式不再包括 OES 格式,仅为 RGB 格式。你需要在处理视频数据时增加对 I420、RGB 纹理格式的适配。</li>
<li props="cpp unreal bp">在 iOS 和 macOS 平台上,默认的视频帧类型可能为 I420 或 CVPixelBufferRef。</li>
<li props="apple">默认的视频帧类型可能为 I420 或 CVPixelBufferRef。</li>
<li props="cpp unreal bp">在 Windows 平台上,默认为 YUV420。</li></ul></p>
<p props="android">
<note id="default" props="hide">
<p>在不同观测位置和采集场景下,该枚举值对应的实际视频像素格式都不同,建议你不要使用该值。以下列出了一些常见的情况。</p>
<ul>
<li>观测位置为 <apiname keyref="POSITION_POST_CAPTURER"/> 时:
<ul>
<li props="ios">仅支持像素格式为 CVPixelBufferRef 的视频。</li>
<li props="android">在用户采集 YUV 格式的视频数据、或采集的视频分辨率小于 256 × 256 时,支持的视频像素格式为 I420;其他情况下,支持 Texture 格式。</li>
<li props="mac cpp unreal bp">仅支持像素格式为 I420 的视频。</li>
</ul></li>
<li>观测位置为 <apiname keyref="POSITION_PRE_ENCODER"/> 时:
<ul>
<li props="ios">仅支持像素格式为 CVPixelBufferRef 的视频。</li>
<li props="android">在用户采集 YUV 格式的视频数据、或采集的视频分辨率小于 256 × 256 时,支持的视频像素格式为 I420;其他情况下,支持 Texture 格式。</li>
<li props="mac cpp unreal bp">仅支持像素格式为 I420 的视频。</li>
</ul></li>
<li>观测位置为 <apiname keyref="POSITION_PRE_RENDERER"/> 时:
<ul>
<li props="ios mac">默认支持像素格式为 CVPixelBufferRef 的视频。</li>
<li props="android">默认支持像素格式为 Texture 的视频。</li>
<li props="cpp unreal bp">支持像素格式为 I420 的视频。</li>
</ul></li>
</ul>
</note>
<ul>
<li><ph keyref="VIDEO_PIXEL_DEFAULT"/>(0): 原始视频像素格式。</li>
<li><ph keyref="VIDEO_PIXEL_I420"/>(1): I420 格式。</li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<p props="native unreal bp unity electron rn cs">完成前处理后,你可以在该回调中直接修改 <parmname>videoFrame</parmname>,并将返回值设置为 <codeph><ph keyref="true"/></codeph>,即可将修改后的视频数据发送给 SDK。</p>
<note type="attention" id="note">
<ul>
<li>此处获取的视频数据未经过前处理,如水印、裁剪、旋转和美颜等。</li>
<li>此处获取的视频数据未经过水印、裁剪和旋转等前处理。</li>
<li>如果你获取到的视频数据类型为 RGBA,SDK 不支持对 alpha 通道的值进行处理。</li>
<li props="flutter">由于 Flutter 框架的限制,该回调不支持将处理后的视频数据发送回 SDK。</li>
</ul></note> </section>
Expand All @@ -51,10 +51,10 @@
<pd>视频帧数据。详见 <xref keyref="VideoFrame"/>。
<note>通过该回调获取的视频帧数据格式默认值如下:
<ul>
<li props="android cpp unreal bp rn unity flutter">Android:texture</li>
<li props="ios cpp unreal bp rn unity flutter">iOS:cvPixelBuffer</li>
<li props="mac cpp unreal bp electron unity flutter">macOS:YUV 420</li>
<li props="cpp unreal bp electron unity flutter cs">Windows:YUV 420</li></ul></note></pd>
<li props="android cpp unreal bp rn unity flutter">Android:I420 或 RGB 纹理格式</li>
<li props="ios cpp unreal bp rn unity flutter">iOS:I420 或 CVPixelBufferRef</li>
<li props="mac cpp unreal bp electron unity flutter">macOS:I420 或 CVPixelBufferRef</li>
<li props="cpp unreal bp electron unity flutter cs">Windows:YUV420</li></ul></note></pd>
</plentry>
</parml> </section>
<section id="return_values" props="native unreal bp unity electron rn cs">
Expand Down
4 changes: 2 additions & 2 deletions dita/RTC-NG/API/enum_videoobserverframetype.dita
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
</plentry>
<plentry>
<pt><ph keyref="FRAME_TYPE_YUV420"/></pt>
<pd>YUV 420 格式的视频数据。</pd>
<pd>YUV420 格式的视频数据。</pd>
</plentry>
<plentry>
<pt><ph keyref="FRAME_TYPE_YUV422"/></pt>
<pd>YUV 422 格式的视频数据。</pd>
<pd>YUV422 格式的视频数据。</pd>
</plentry>
<plentry>
<pt><ph keyref="FRAME_TYPE_RGBA"/></pt>
Expand Down
1 change: 0 additions & 1 deletion dita/RTC-NG/RTC_NG_API_RN.ditamap
Original file line number Diff line number Diff line change
Expand Up @@ -635,7 +635,6 @@
<topicref href="API/toc_pc_audio_device_management.dita" chunk="to-content">
<topicref keyref="getAudioDeviceInfo" toc="no"/>
<topicref keyref="getAudioDeviceManager" toc="no"/>
<topicref keyref="onAudioDeviceVolumeChanged" toc="no"/>
</topicref>
<topicref href="API/toc_pc_video_device_management.dita" chunk="to-content">
<topicref keyref="getVideoDeviceManager" toc="no"/>
Expand Down
9 changes: 0 additions & 9 deletions dita/RTC-NG/config/keys-rtc-ng-api-rn.ditamap
Original file line number Diff line number Diff line change
Expand Up @@ -4306,15 +4306,6 @@
</topicmeta>
</keydef>
</topichead>
<topichead navtitle="设备管理事件">
<keydef keys="onAudioDeviceVolumeChanged" href="../API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita">
<topicmeta>
<keywords>
<keyword>onAudioDeviceVolumeChanged</keyword>
</keywords>
</topicmeta>
</keydef>
</topichead>
<topichead navtitle="流消息事件">
<keydef keys="onStreamMessage" href="../API/callback_irtcengineeventhandler_onstreammessage.dita">
<topicmeta>
Expand Down
2 changes: 1 addition & 1 deletion dita/RTC-NG/config/relations-rtc-ng-api.ditamap
Original file line number Diff line number Diff line change
Expand Up @@ -2609,7 +2609,7 @@
<relcell>
<topicref keyref="onActiveSpeaker"/>
<topicref keyref="onAudioDeviceStateChanged" props="cpp unreal bp electron unity flutter"/>
<topicref keyref="onAudioDeviceVolumeChanged" props="cpp framework"/>
<topicref keyref="onAudioDeviceVolumeChanged" props="cpp unreal bp electron unity flutter"/>
<topicref keyref="onAudioEffectFinished"/>
<topicref keyref="onAudioMixingFinished"/>
<topicref keyref="onAudioMixingPositionChanged"/>
Expand Down

0 comments on commit de6497c

Please sign in to comment.